50,533
社区成员
发帖
与我相关
我的任务
分享
//: c15:rmi:PerfectTimeI.java
// The PerfectTime remote interface.
package c15.rmi;
import java.rmi.*;
public interface PerfectTimeI extends Remote {
long getPerfectTime() throws RemoteException;
} ///:~
//: c15:rmi:PerfectTime.java
// The implementation of
// the PerfectTime remote object.
// {Broken}
package c15.rmi;
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.net.*;
public class PerfectTime
extends UnicastRemoteObject
implements PerfectTimeI {
// Implementation of the interface:
public long getPerfectTime()
throws RemoteException {
return System.currentTimeMillis();
}
// Must implement constructor
// to throw RemoteException:
public PerfectTime() throws RemoteException {
// super(); // Called automatically
}
// Registration for RMI serving. Throw
// exceptions out to the console.
public static void main(String[] args)
throws Exception {
System.setSecurityManager(
new RMISecurityManager());
PerfectTime pt = new PerfectTime();
Naming.bind(
"//peppy:2005/PerfectTime", pt);
System.out.println("Ready to do time");
}
} ///:~
/* public interface PerfectTimeI extends Remote {
long getPerfectTime() throws RemoteException;
} ///:~
*/
PerfectTime.java:13: 错误: 找不到符号
implements PerfectTimeI {
^
符号: 类 PerfectTimeI
注: PerfectTime.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
1 个错误
javac .\c15\rmi\PerfectTime.java
注: .\c15\rmi\PerfectTime.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
按照提示,运行javac -Xlint:deprecation .\c15\rmi\PerfectTime.java,那么返回:
.\c15\rmi\PerfectTime.java:29: 警告: [deprecation] java.rmi中的RMISecurityManager已过时
new RMISecurityManager());
^
1 个警告
java PerfectTime
错误: 找不到或无法加载主类 PerfectTime
原因: java.lang.NoClassDefFoundError: c15/rmi/PerfectTime (wrong name: PerfectTime)
C:\开发调试\Java>rmic c15.rmi.PerfectTime
警告: 为 JRMP 生成和使用骨架及静态存根
已过时。骨架不再必要, 而静态存根
已由动态生成的存根取代。建议用户
不再使用rmic来生成骨架和静态存根。
请参阅 java.rmi.server.UnicastRemoteObject 的文档。