rmi server启动的问题??

gamebus 2002-09-16 05:29:19
C:\testjava\rmi>java -Djava.rmi.server.codebase=file:///c:/testjava/rmi/defaultr
oot/myclasses/ -Djava.security.policy=file:///c:/testjava/rmi/defaultroot/myclas
ses examples.hello.HelloImplException in thread "main" java.lang.NoClassDefFoundError: examples/hello/HelloI
mpl
老是说找不到类,可该目录下有阿
...全文
103 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigbearcn 2002-09-17
  • 打赏
  • 举报
回复
你给你的细节情况贴出来,我帮你看看,我的rmi server可以起来,但client怎么配也不行,你帮我看看贴子:
(SOS高手请进进,指点一二),关于RMI配置的问题:
gamebus 2002-09-17
  • 打赏
  • 举报
回复
请问如果我的绑定服务端,我的class发到WEB-INF/classes下面,加载的时候
要写这个目录吗?如-Djava.rmi.server.codebase=http://192.168.0.86:8082/WEB-INF/classes
还是直接-Djava.rmi.server.codebase=http://192.168.0.86:8082/
后面跟examples.testrmi.RmiImpl
gamebus 2002-09-17
  • 打赏
  • 举报
回复
刚才成功了一次,可是我又从新试着在输一次,又出现ClassNotfound了,
jetercn 2002-09-17
  • 打赏
  • 举报
回复
你的policy文件权限是否放开,可以这样设(全部放开)
grant {
// allows anyone to listen on un-privileged ports
permission java.net.SocketPermission "*:1024-65535", "listen,accept,connect";
// permission java.io.FilePermission "*", "read,write";
permission java.security.AllPermission;

};

Rmiregister是否起来了
成功了记的给分
gamebus 2002-09-17
  • 打赏
  • 举报
回复
昨天那个毛病没了,今天又出这个问题
C:\testjava\rmi\defaultroot\myclasses>java -Djava.rmi.server.codebase=file:///c
/testjava/rmi/defaultroot/myclasses -Djava.security.policy=file:///c:/testjava/
mi/defaultroot/myclasses examples.hello.HelloImpl
HelloImpl err: access denied (java.net.SocketPermission 192.168.0.86:1099 conne
t,resolve)
java.security.AccessControlException: access denied (java.net.SocketPermission
92.168.0.86:1099 connect,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlCont
xt.java:270)
at java.security.AccessController.checkPermission(AccessController.java
401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1044)
at java.net.Socket.connect(Socket.java:419)
at java.net.Socket.connect(Socket.java:375)
at java.net.Socket.<init>(Socket.java:290)
at java.net.Socket.<init>(Socket.java:118)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirec
SocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMaste
SocketFactory.java:122)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:562)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:18
)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:313)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Naming.java:159)
at examples.hello.HelloImpl.main(HelloImpl.java:28)

C:\testjava\rmi\defaultroot\myclasses>
SillyWorm 2002-09-16
  • 打赏
  • 举报
回复
mannma说得不对,rmi可以在本地机器上运行,没有网络也可以,我做过测试,client通过ftp和http协议都可以访问服务器。应该是类路径没设对,看看加上一个 -classpath 参数,带上那个类所在得绝对路径试试。
bigbearcn 2002-09-16
  • 打赏
  • 举报
回复
有的类是否能在classpath中找到?
mannma 2002-09-16
  • 打赏
  • 举报
回复
server必须有接通的网络环境支持,我估计你是在单机上实现的server和client

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧