0

我有一个使用来自另一个项目的类的 RMI 服务器。我已经将另一个项目的 jar 作为库导入到 RMI 上,它在 netbeans 上运行良好。虽然当我从 netbeans 生成的 .jar 运行 RMI 服务器时,我得到classnotfoundexception了导入的类。

Any suggestions why it would be running inside netbeans, but the jar isn't working?

我也不确定这是否是正确的选择,但在 RMI 上我检查了“使用的专用库文件夹”,因为其他项目非常小。

另请注意,我也在另一个项目上导入服务器,以便它可以使用远程接口。(虽然我猜这与问题无关)。

4

2 回答 2

0

如果您使用标准 netbeans 项目(而不是 maven 项目)构建项目,您将在构建最终 jar 的 dist 目录下看到一个 lib 目录。Netbeans 将在主 jar 文件中构建清单,以便在该 lib 目录中查找依赖 jar,该目录与构建的 jar 的位置相关。因此,如果您将构建的 jar 放在一个目录中,请将 lib 文件夹复制到该目录,然后像这样启动它:

java -jar my.jar 

例如

+ folder
|   my.jar
+-+ lib
  | other.jar
于 2012-04-07T15:23:31.827 回答
0

当你启动你的 rmi 服务器时,你把其他类的 jar 也放进了类路径?

尝试从命令提示符启动 jar:

java -jar -classpath rmiserver.jar:lib/other.jar rmiserver.jar
于 2012-04-07T15:11:14.520 回答