【发布时间】:2014-01-26 21:33:06
【问题描述】:
我有一个工作的 RMI 服务器程序,我可以直接从 .class 文件编译和执行它。
但是,当我尝试为这些程序中的每一个创建 JAR 文件时,我得到一个 ClassNotFoundException: ChatImpl_Stub 导致 RemoteException 在执行时。
我的清单是(最后加上一个空行):
Main-Class: Server
Class-Path: chat-RMI-common.jar
其中 chat-RMI-common 是一个 JAR 文件,其中包含客户端的聊天界面。
我成功创建了 JAR:
jar cvmf ..\MANIFEST.MF chat-RMI-server.jar *.class
服务器 JAR 确实包含 ChatImpl_Stub。但是,当我尝试启动 JAR 文件时出现异常:
java -Djava.rmi.server.codebase="file:chat-RMI-common.jar file:chat-RMI-server.jar"
-Djava.security.policy=..\security.policy
-jar chat-RMI-server.jar
在调用涉及 ChatImpl 的 Naming.rebind 函数时出现异常(在程序开头)。
我的安全政策:
grant {
permission java.security.AllPermission;
}
我还忘记了什么?提前感谢您的宝贵时间。
【问题讨论】:
标签: java jar rmi classnotfoundexception