【问题标题】:Create jar for java RMI application为 java RMI 应用程序创建 jar
【发布时间】:2011-05-13 03:52:52
【问题描述】:

所以,我使用 genady 插件在 Eclipse 中制作了一个简单的 java RMI 应用程序。它在这种环境下运行良好,但如果它也可以在 Eclipse 之外运行就更好了。

在 Eclipse 中运行它我首先启动 RMI 注册表。然后我为服务器启用存根创建。然后我将服务器作为 RMI 应用程序运行,同时让 Eclipse 自动生成代码库参数。最后,我将客户端也作为 RMI 应用程序运行,添加参数安全策略(让 eclipse 为我创建一个)。

所以真的很简单。

我的项目结构如下:我有 3 个独立的 java 项目:

1) rmi 通用

2) rmi 服务器

3) rmi 客户端

服务器和客户端都依赖于公共项目(在它们的构建路径上)。

在公共项目中,我有远程接口描述(基本上是客户端可以从服务器调用的方法)和一个类,它用作其中一个接口方法的参数。

服务器真的很简单.. 扩展了 UnicastRemoteObject 并实现了接口。只需获取注册表并自行绑定即可。

客户端也不是很复杂。设置安全管理器(新的 RMI 安全管理器)并查找服务器。它还有一个用户界面类,但这并不重要。

所以我想知道如何从客户端和服务器创建可执行 jar。理想情况下,我想从命令行启动注册表,然后从 CL 启动服务器,最后以同样的方式启动客户端。

由于某些原因,eclipse 不允许我为这些项目生成可执行 jar,即使它们都有 main 方法。我试过创建一个普通的 jar,但它不起作用,因为它没有找到主类。

如果有人能告诉我如何从 eclipse 中导出这个项目以便它可以从命令行运行,我将不胜感激。

【问题讨论】:

    标签: java eclipse rmi executable-jar


    【解决方案1】:

    它是 JAR,而不是 JAR。您需要一个用于客户端,另一个用于服务器。公共接口需要在两者中。

    如果你有这些,你当然可以在任何你喜欢的地方部署和运行这两个。

    如果 Eclipse 妨碍了,请转储它。只需手动使用正确的清单文件创建 JAR。

    【讨论】:

    • 是的,我需要至少 2 个罐子。但我不知道如何为 rmi 项目手动创建 jar-s。
    • JAR 只是美化的 zip 文件。 “jar”命令在 JDK 中。教程见download.oracle.com/javase/tutorial/deployment/jar
    • 嗯,是的,但是在 rmi 中你也有一些东西,比如必须包含和生成的存根文件。此外,我还需要在服务器和客户端 jar 中引用公共项目。
    • 好的,我尝试手动创建 jars...只是将存根类添加到混合中。但是,正如我所担心的那样,它们没有被发现。我应该如何创建 jar 以便可以找到存根类?
    猜你喜欢
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多