我想在java中构建一个可运行的jar。我需要在jar中包含一些文件,这样当我执行jar时,文件会自动从java类中读取。因此,我在项目中创建了一个文件夹,并从项目中引用了这些文件。我在一些教程后创建了jar文件,但是我无法将这些外部文件包含在我的jar文件中。请告诉我有关使用外部文件创建可运行jar的信息。
我的文件结构是
Test
|
|
-------src
| |
| default package
| |
| |
| test1.java
|
-------FileFOlder
| |
| |
| abc.txt
我正在 test1.java 类中访问 abc.txt 。 我的代码是,
public class test1 {
public static void main(String[] args) throws IOException {
char [] read = new char[20];
String path = new File(".").getCanonicalPath();
path = path+"\\Newfolder\\abc.txt";
System.out.println(path);
File nF = new File(path);
FileReader fR = new FileReader(nF);
fR.read(read);
for(char c : read){
System.out.print(c);
}
fR.close();
System.out.println(" Hi..This is test program ");
}
}
当我使用eclipse导出选项创建可执行jar时,我无法在jar中看到FileFolder目录。请告诉我一些有关此事的信息。
答案 0 :(得分:12)
这是你应该做的事情:
将该文件放回 in 您的jar文件中。使用class.getResourceAsStream()
来代替File
和FileReader
来阅读它。以下是如何执行此操作的说明:How to really read text file from classpath in Java
答案 1 :(得分:12)
解决了问题!
这是如何:
1)右键单击您的项目文件夹并创建一个新文件夹。
2)将您想要打包到jar中的所有文件移动到该文件夹中。
3)单击project -> properties -> Build Path -> Source -> Add Folder
并选择刚刚创建的文件夹。
4)创建你的JAR!
由于您已经使用abc.txt创建了文件夹,因此可以跳过步骤1和2
编辑:您可以确保您的JAR包含这些文件的一种方法是使用7zip。