2008-09-17 4 views
2

Я обновил файл ant build.xml, чтобы добавить новый файл и новую папку. После создания .jar я проверяю, существуют ли они в банке с помощью `unzip \ extract ', и они есть.Файлы, не извлеченные из файла .jar при запуске

Но при выполнении .jar ни папка, ни файл не извлекаются.

Я пропустил шаг?

ответ

2

Ваше приложение должно иметь возможность использовать файл непосредственно из банки, не нужно его извлекать. Или вы имеете в виду что-то еще?

0

Вы делаете что-то конкретное, чтобы извлечь файл jar? Я спрашиваю, потому что обычно файлы jar не извлекаются при их выполнении.

Если вы запустите «java -jar myJar.jar» или «java -cp myJar.jar com.example.MyMainClass», файлы jar, на которые ссылаются, не будут извлечены. Java будет загружать ваши классы и ресурсы непосредственно из файла jar без его извлечения.

4

Посмотрите на getResourceAsStream. Это не позволит вам извлечь файлы из файла jar. Если это не ваша цель.

+0

Да, вот что я имел в виду :) – sirprize 2008-09-17 22:24:09

0

Если вы завершаете приложение, используя One-JAR, вы можете указать атрибут в файле манифеста для извлечения файлов, которые вы хотите (см. Атрибут манифеста One-Jar-Expand).

В качестве бонуса вы также сможете обернуть любые зависимые библиотеки вместе с вашим кодом, создав единую распределяемую банку.