因此,我使用 genady 插件在 Eclipse 中制作了一个简单的 java RMI 应用程序。它在这个环境中运行良好,但如果它也可以在 Eclipse 之外运行就更好了。
在 Eclipse 中运行它我首先启动 RMI 注册表。然后我为服务器启用存根创建。然后我将服务器作为 RMI 应用程序运行,同时让 Eclipse 自动生成代码库参数。最后,我将客户端也作为 RMI 应用程序运行,添加参数安全策略(让 eclipse 为我创建一个)。
所以这真的很简单。
我的项目结构如下:我有 3 个独立的 java 项目:
1) rmi 常用
2) rmi 服务器
3)rmi客户端
服务器和客户端都依赖于公共项目(在他们的构建路径上)。
在公共项目中,我有远程接口描述(基本上是客户端可以从服务器调用的方法)和一个类,它用作接口方法之一的参数。
服务器真的很简单.. 扩展了 UnicastRemoteObject 并实现了接口。只需获取注册表并绑定自身。
客户端也不是很复杂。设置安全管理器(新的 RMI 安全管理器)并查找服务器。它还有一个用户界面类,但这并不重要。
所以我想知道如何从客户端和服务器创建可执行 jars。理想情况下,我想从命令行启动注册表,然后从 CL 启动服务器,最后以同样的方式启动客户端。
出于某种原因,即使它们都有 main 方法,eclipse 也不会让我为这些项目生成可执行 jar。我尝试创建一个常规 jar,但它不起作用,因为它找不到主类。
如果有人能告诉我如何从 eclipse 中导出这个项目以便它可以从命令行运行,我将非常感激。