Создание Runnable Jar с включенными внешними файлами
Я хочу создать runnable jar в java. Мне нужно включить некоторые файлы в банку, чтобы при выполнении jar файлы автоматически считывались из класса java. Поэтому я создал папку в проекте и передал эти файлы из проекта. Я создал файл jar после некоторого учебника, но я не смог включить эти внешние файлы в свой файл jar. Пожалуйста, позвольте мне создать runnable jar с внешними файлами.
Мой файловый struture -
Test
|
|
-------src
| |
| default package
| |
| |
| test1.java
|
-------FileFOlder
| |
| |
| abc.txt
Я получаю доступ к abc.txt в классе test1.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 ");
}
}
Когда я создаю исполняемую банку, используя опцию экспорта eclipse, я не могу видеть каталог FileFolder внутри банки. Пожалуйста, дайте мне информацию об этом.
Ответы
Ответ 1
Вот что вы должны сделать вместо этого:
Поместите этот файл обратно в файл jar. Используйте class.getResourceAsStream()
для чтения вместо File
и FileReader
. Вот объяснение, как это сделать: Как действительно читать текстовый файл из classpath в Java
Ответ 2
Проблема решена!
вот как:
1) щелкните правой кнопкой мыши папку проекта и создайте новую папку.
2) переместите все ваши файлы, которые вы хотите упаковать в банку, в эту папку.
3) нажмите project -> properties -> Build Path -> Source -> Add Folder
и выберите эту папку, которую вы только что создали.
4) создайте свой JAR!
Поскольку вы уже создали свою папку с abc.txt внутри, вы можете пропустить шаги 1 и 2
EDIT: вы можете убедиться, что ваш JAR содержит эти файлы, чтобы использовать 7zip.