因此,我使用genady插件在Eclipse中创建了一个简单的Java RMI应用程序。它在这种环境下工作正常但如果它也可以在Eclipse外部运行它会很好。
在Eclipse中运行它我首先启动RMI注册表。然后我为服务器启用存根创建。然后我将服务器作为RMI应用程序运行,我也让Eclipse自动生成codebase参数。最后我还将客户端作为RMI应用程序运行,添加了参数安全策略(只需让eclipse为我创建一个)。
所以这很简单。
我的项目结构如下:我有3个独立的java项目:
1)rmi普通
2)rmi服务器
3)rmi客户
服务器和客户端都依赖于公共项目(在构建路径上有它)。
在公共项目中,我有远程接口描述(基本上是客户端可以从服务器调用的方法),还有一个类,它用作其中一个接口方法的参数。
服务器非常简单..扩展UnicastRemoteObject并实现接口。只需获取注册表并绑定自己。
客户也不是很复杂。设置安全管理器(新RMI安全管理器)并查找服务器。它也有一个用户界面类,但不是那么重要。
所以我想知道如何从客户端和服务器创建可执行jar。理想情况下,我想从命令行启动注册表,然后从CL启动服务器,最后也以同样的方式启动客户端。
出于某种原因,eclipse不会让我为这些项目生成一个可执行jar,即使它们都有一个main方法。我尝试过创建一个普通的jar但它不起作用,因为它找不到主类。
如果有人能告诉我如何从eclipse导出这个项目以便可以从命令行运行,我真的很感激。
答案 0 :(得分:0)
这是JAR,而不是JAR。您需要一个用于客户端,另一个用于服务器。公共接口需要同时存在。
如果你有这些,你当然可以随心所欲地部署和运行这两个。
如果Eclipse受阻,请将其转储。只需手动创建带有正确清单文件的JAR即可。