Как автоматически сгенерировать файл.jar в проекте Eclipse Java
У меня есть проект Eclipse Java. Он содержит папку с именем "dist". В этой папке находится файл.jar.
Как я могу настроить все в этом проекте, чтобы убедиться, что этот файл.jar обновляется каждый раз, когда один из файлов.java в проекте перекомпилируется?
Благодарю.
5 ответов
Создайте файл Ant и скажите Eclipse, чтобы он создавался. Есть только два шага, и каждый легко с пошаговыми инструкциями ниже.
Шаг 1 Создайте файл build.xml и добавьте в проводник пакетов:
<?xml version="1.0" ?>
<!-- Configuration of the Ant build system to generate a Jar file -->
<project name="TestMain" default="CreateJar">
<target name="CreateJar" description="Create Jar file">
<jar jarfile="Test.jar" basedir="." includes="*.class" />
</target>
</project>
Затмение должно выглядеть примерно так, как на скриншоте ниже. Обратите внимание на значок Ant в build.xml.
Шаг 2 Щелкните правой кнопкой мыши по корневому узлу в проекте. - Выберите "Свойства" - "Выберите строителей" - "Выберите новый" - выберите "Сборка Ant" - на вкладке "Главная" укажите путь к файлу build.xml в папке bin.
Проверьте вывод
В окне вывода Eclipse (с именем Console) после сборки должно отображаться следующее:
Buildfile: /home/<user>/src/Test/build.xml
CreateJar:
[jar] Building jar: /home/<user>/src/Test/Test.jar
BUILD SUCCESSFUL
Total time: 152 milliseconds
Вы можете определить Ant Builder, который запускает задачу jar для jar всех файлов классов в проекте (с "Refresh project upon completion
" задавать.)
(См. Также " Настройка сборок для ваших проектов Eclipse")
Смотрите статью IBM: Как и зачем создавать собственные задачи Ant
Распространенным шаблоном является работа с файлами классов в проекте (проекты могут быть добавлены в пути сборки других проектов и использованы во время выполнения во время тестирования), поэтому вам не нужны файлы JAR во время разработки.
Общий подход для добавления шага автоматической сборки состоит в том, чтобы написать сценарий ant, включить его в свой проект, и тогда вы сможете включить выполнение сценария ant в сборку проекта. Так как у муравья довольно простая задача по созданию банок, это не слишком много усилий, если вам все время нужен файл банок. Смотрите для начала.
Создайте проект J2EE Utility (Util). Это позволяет вам создать ассоциацию с проектом J2EE (ProjectX). Когда вы изменяете свойства ProjectX в зависимости от проекта Util, он показывает Util как Util.jar. С объявленной зависимостью Eclipse соберет Util.jar, когда он должен будет построить проект Util. Если у вас активирована функция автоматической сборки проекта Util, файл.jar будет синхронизироваться при каждой сборке проекта. Если ваш целевой проект не является J2EE, вы все равно можете использовать это решение, но использовать фиктивный родительский проект J2EE.
Вот ссылка на страницу справки по использованию задачи ANT для создания ZIP-файла из Eclipse: http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_feature_generating_ant.htm
Альтернативным решением является использование плагина Zip. Мы использовали это более 5 лет назад, но прекратили, когда WSAD включил поддержку зависимых проектов в виде файлов.jar.
Ответ Томаса работает, но файл jar, который он создает, не может использоваться для запуска приложения.
Я закончил с:
<?xml version="1.0" ?>
<!-- Configuration of the Ant build system to generate a Jar file -->
<project name="TDSz Data Mover" default="CreateJar">
<target name="CreateJar" description="Create Jar file">
<delete file="DataMover.jar"/>
<jar jarfile="DataMover.jar" basedir="bin/" includes="**/*.class **/Messages*.*" " update="no">
<zipfileset dir="D:/Java/mylib" erroronmissingarchive="true">
<include name="*.jar" />
</zipfileset>
<manifest>
<attribute name="Main-Class" value="some.package.and.app"/>
</manifest>
</jar>
</target>
</project>
Не знаю, изменилось ли что-то в муравье с тех пор, как был дан этот ответ, но потребовалось некоторое копание, чтобы на самом деле это заработало. Многие решения в уроках были только частичными ответами...
Основные изменения:
- Добавлено удаление файла jar, так как он не восстанавливался, когда я перезапускал сборку ant после изменения файла сборки.
- Добавлен манифест для правильной установки исполняемого файла.
- Вставьте некоторые файлы.jar как библиотеки
- Вытащите файлы Message_ для поддержки NLS
Netbeans делает это намного проще - просто отметьте пару флажков.
[Отредактировано для исправления проблемы с некорректно завершенным тегом jar и извлечения файлов.jar]