如何将java项目正确导出为runnable jar?

时间:2015-10-11 23:50:45

标签: java eclipse jar export rmi

我试图在java中学习RMI API。一切似乎终于有效了;我的服务器已启动并运行,我的客户端可以连接。 但是当我从Eclipse导出项目时,作为一个带有Client作为启动配置的可运行jar,现在这个jar无法连接到我正在运行的服务器。我得到AccessControlException

    if (System.getSecurityManager() == null) {
        System.setProperty("java.security.policy", "src/mySecurity");
        System.setSecurityManager(new SecurityManager());
    }

客户端和服务器都将这些作为主要方法的第一行。所以我认为他们无法找到“我的安全”。我将项目导出为jar之后的文件?我该怎么办?

编辑:当我在我的项目中访问.png文件时,我这样做MyClass.class.getResource("/resources/myImage.png")在导出为jar时效果很好。但据我了解,只有.java文件应该放在我项目的src文件夹中?但是在src文件夹之外的任何内容都不包含在jar文件中。 (请注意,myImage.png位于src中)。

所以目前我导出jar并将其放在一个包含resources文件夹的文件夹中(我从IDE工作区复制)。这是我应该这样做的方式,还是我实际上可以将我的项目导出为具有与src相同级别的访问资源的可执行jar?

1 个答案:

答案 0 :(得分:0)

使用

运行JVM
-Djava.security.debug=access,failure,policy

policy部分向您显示正在加载的策略文件。其余的帮助调试所有AccessControlExceptions及其原因,并显示每个保护域中生效的保护域,以及每种情况下相关的策略文件。

相关问题