[英]How to package a jar file along with reference files?
當我僅在計算機上使用應用程序時,使用eclipse導出可運行的jar文件非常簡單。 該程序正在使用的所有文件(子畫面,音軌等)僅存在於我的計算機上,因此僅將jar發送到另一台機器將不起作用。
將jar和所有必需的文件打包在一起,以便可以在任何計算機上運行程序的最簡單方法是什么?
我從您的標簽中看到您正在使用Eclipse。 我不確定該方法是否可以在其他IDE中使用,如果您手動進行所有操作,則我認為它根本不起作用(它依賴於編譯器自動將資源復制到bin
文件夾中。
最簡單的方法(至少是我使用的方法)是定義另一個源文件夾(我喜歡res
)。
然后,您可以將軟件包添加到此源文件夾並轉儲相關的映像。 然后重建您的項目。
最后,您可以使用getClass().getResourceAsStream("package/path/file_name.whatever");
獲取您的文件。
導出為jar
之后,即使在其他計算機上也可以工作。
如果您不要求其他文件是文件系統上的實際文件(這意味着您不能使用File
, FileInputStream
等 ),則可以使用資源系統。 如果將它們放在JAR中,則可以這樣訪問它們:
InputStream fileStream = SomeClassInYourJarFile.class
.getResourceAsStream("/path/to/file.png");
此示例將為您提供一個InputStream
從JAR文件中的/path/to/file.png
條目中讀取-即,文件夾“ path”中的“ to”文件夾中的“ file.png”文件。
這不需要文件位於JAR文件中-它可以從存儲.class文件的位置(無論是否存在JAR)加載它們。 如果你把它們放在你的源文件夾,Eclipse會自動將它們復制到那個地方-因此上面的線也將工作,如果你有一個包path.to
包含一個名為file.png
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.