簡體   English   中英

如何正確地將Java項目導出為可運行的jar?

[英]How can I properly export a java project as runnable jar?

我正在嘗試用Java學習RMI API。 一切似乎終於開始了。 我的服務器已啟動並且正在運行,我的客戶端可以連接。 但是,當我從Eclipse中將項目導出為可運行的jar,並將客戶端作為啟動配置時,現在該jar無法連接到我正在運行的服務器。 我得到一個AccessControlException

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

客戶端和服務器都將它們作為主要方法的第一行。 因此,我認為將項目導出為jar后他們找不到“ mySecurity”文件嗎? 我能做什么?

編輯:當我訪問項目中的.png文件時,我執行此MyClass.class.getResource("/resources/myImage.png")作為jar導出時效果很好。 但是據我了解,應該僅將.java文件放入項目的src文件夾中? 但是jar文件中不包含src文件夾之外的任何內容。 (請注意,myImage.png位於src中)。

因此,當前我導出jar並將其放置在其中包含資源文件夾的文件夾中(該文件夾是從IDE工作區復制的)。 這是我應該采用的方式嗎,或者實際上我可以將我的項目導出為具有與src處於同一級別的訪問資源的可執行jar嗎?

使用以下命令運行JVM

-Djava.security.debug=access,failure,policy

policy部分將確切顯示正在加載的策略文件。 其余的內容可幫助調試所有AccessControlExceptions及其原因,並分別顯示每個域有效的保護域以及相關的策略文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM