创建包含外部文件的Runnable Jar

Anu*_*nup 14 java jar file executable-jar

我想在java中构建一个可运行的jar.我需要在jar中包含一些文件,这样当我执行jar时,文件会自动从java类中读取.因此,我在项目中创建了一个文件夹,并从项目中引用了这些文件.我在一些教程后创建了jar文件,但是我无法将这些外部文件包含在我的jar文件中.请告诉我有关使用外部文件创建可运行jar的信息.

我的文件结构是

Test
|
|
-------src
|        |
|        default package
|                      |
|                      |
|                      test1.java
|
 -------FileFOlder
|              |
|              | 
|              abc.txt
Run Code Online (Sandbox Code Playgroud)

我访问的abc.txttest1.java类.我的代码是,

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 ");
}

}
Run Code Online (Sandbox Code Playgroud)

当我使用eclipse导出选项创建可执行jar时,我无法在jar中看到FileFolder目录.请告诉我一些有关此事的信息.

Dan*_*lan 12

这是你应该做的事情:

把该文件回你的jar文件.使用class.getResourceAsStream()读它,而不是FileFileReader.以下是如何执行此操作的说明:如何从Java中的类路径中真正读取文本文件


sco*_*eus 12

问题解决了!

这是如何:

1)右键单击项目文件夹并创建一个新文件夹.

2)将您想要打包到jar中的所有文件移动到该文件夹​​中.

3)单击project -> properties -> Build Path -> Source -> Add Folder并选择刚刚创建的文件夹.

4)创建你的JAR!

由于您已经使用abc.txt创建了文件夹,因此可以跳过步骤1和2

编辑:您可以确保您的JAR包含这些文件的一种方法是使用7zip.