2012-01-03 50 views
1

我需要在META-INF中加載.xml文件,它在應用程序不是沙箱的情況下工作,但是在Java Web中啓動一個不同的類加載器(更受限制)似乎是使用,所以在myproj.jar/META-INF/myfile.xml中找到的文件未加載。但是,如果我將該文件放在加載類的當前目錄中(我把它放在com/blabla/myproj/whatever/META-INF/myfile.xml下),它會起作用。Java Web Start應用程序中的類路徑

我在.jnlp文件中找不到任何類路徑設置,但也許這可以通過清單來完成?我不知道他們是如何工作的,所以如果這是解決方案,請舉個例子。

回答

2

東西在META-INF應該是在你的jar文件的代碼可讀性,因爲這代碼應該是不可知的事實,這是打包在一個JAR。相反,因爲它是關於Jar本身的元信息(meta-inf),所以只有應用程序加載該jar文件應該訪問它。

+0

啊,謝謝!你知道我應該把Eclipse中的.xml文件放在哪裏,它們在.jar中結束嗎?我如何加載他們? – 2012-01-03 15:48:58

+0

@Jonas:如果你只是把它們放在與你的Java文件相同的文件夾中,Eclipse可能會將它們複製到Jar中(並且它們將位於類路徑中)。在Jar中,它將被打包爲一個類文件('/ com/yourcompany/package/yourfile.xml')。所以把它放在包裝結構的正確位置。另一個常見的組織是有一個單獨的與資源包結構相似的「resources」文件夾,但是您必須配置Eclipse以將資源複製到Jar文件中。自從我使用Eclipse以來,這已經有一段時間了,所以你不得不琢磨如何。 – 2012-01-03 16:02:51

相關問題