gpt4 book ai didi

java - 启动并运行 Java RMI

转载 作者:行者123 更新时间:2023-12-01 15:43:05 35 4
gpt4 key购买 nike

我正在尝试运行此 Sun 教程中的示例代码:

http://download.oracle.com/javase/6/docs/technotes/guides/rmi/hello/hello-world.html

我已将他们的所有代码准确复制到 Eclipse 项目中,并从终端运行“rmiregistry &”(我正在运行 OSX)。

当我尝试运行服务器时,我得到

Server exception: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: suntut.Hello

freenode 上的 #java 向我保证,注册表本身不需要了解有关我的类的任何信息。但似乎更奇怪的是,问题出在我的文件名或其他东西上——所有三个类在编译时都能很好地看到彼此,它们都在 Eclipse 项目中的同一个包中,等等。任何人都可以帮助我开始诊断这个问题吗?

更新:我也尝试从命令行运行它。从/Users/[me]/workspace/[Projectname]/testing/我跑了

java suntut/Server

并得到了完全相同的错误。 (这是使用 javac 成功编译所有内容之后的结果)

最佳答案

如果这是您第一次使用 RMI,我建议您按照说明启动,不要更改任何内容(即,甚至不更改包名称)。这使得其他人可以轻松地帮助您,并且您犯错误的可能性也很低。

暂时放弃 Eclipse 并尝试按照教程中的说明进行操作。使用 IDE,您最终会将 IDE 和实际问题混为一谈。也就是说,运行 Java 类时必须使用完全限定的类名。如果测试是包名称的一部分,则必须使用 testing.suntut.Server 而不仅仅是 suntut.Server

关于java - 启动并运行 Java RMI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7678525/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com