Построить проект в JAR автоматически в Eclipse

У меня есть проект Eclipse, в котором я хочу, чтобы мой Java-проект был встроен в JAR-файл автоматически. Я знаю, что у меня есть возможность экспортировать проект в JAR; если я сделаю правый клик; но что я действительно ищу, так это то, что Eclipse автоматически создает проект .class файлы и положить их в целевую папку; он также должен автоматически создать JAR-файл и скопировать последний JAR-файл в определенное или определенное место.

Есть ли возможность настроить Eclipse таким образом, чтобы автоматически создавать JAR-файлы?

Просто чтобы было понятно, ребята, достаточно терпеливы, чтобы ответить на мой вопрос; Я не рассматриваю ANT как решение; как я уже использую, но то, что я хотел бы, это то, что запускается автоматически либо с помощью триггера, основанного на времени, или немедленной сборки с изменением.

7 ответов

Решение

Проверьте Apache Ant

Можно использовать Ant для автоматической сборки с помощью Eclipse, вот как

Вы хотите .jardesc файл. Они не запускаются автоматически, но это в течение 2 кликов.

  1. Щелкните правой кнопкой мыши на вашем проекте
  2. выберите Export > Java > JAR file
  3. Выберите включенные файлы и имя выходного JAR, затем нажмите Next
  4. Установите флажок "Сохранить описание этого JAR-файла в рабочей области" и выберите имя для нового .jardesc файл

Теперь все, что вам нужно сделать, это щелкнуть правой кнопкой мыши на вашем .jardesc файл и выберите Create JAR и он будет экспортировать его в том же месте.

Создайте файл 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.Build.xml в проекте Eclipse

Шаг 2 Щелкните правой кнопкой мыши по корневому узлу в проекте. - Выберите "Свойства" - "Выберите строителей" - "Выберите новый" - выберите "Сборка Ant" - на вкладке "Главная" укажите путь к файлу build.xml в папке bin.

Конфигурация Ant BuilderШаг построения - вкладка 'Цели'

Проверьте вывод

В окне вывода 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

РЕДАКТИРОВАТЬ: Некоторые полезные комментарии @yeoman и @betlista

@yeoman Я думаю, что правильным включением будет /.class, а не *.class, так как большинство людей используют пакеты, и поэтому рекурсивный поиск файлов классов имеет больше смысла, чем плоское включение

@betlista Я бы порекомендовал не иметь build.xml в папке src

Это возможно путем определения собственного Строителя в затмении (см. Ссылку в ответе Питера). Однако, если ваш проект не очень маленький, это может замедлить ваше рабочее пространство недопустимо. Автосборка для файлов классов происходит постепенно, то есть перекомпилируются только те классы, на которые повлияло изменение, но файл JAR придется полностью перестраивать и копировать каждый раз, когда вы сохраняете изменение.

Что касается ответа Питера и дополнения Мишеля к нему, может оказаться полезным, как автоматически сгенерировать файл.jar в Java-проекте Eclipse. Поскольку даже у вас есть файл "*.jardesc" в вашем проекте, вы должны запустить его вручную. Это может немного остудить вашу "затмение кликов".

Используя ответ Томаса Братта выше, просто убедитесь, что ваш 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="bin/" includes="**/*.class" />
  </target>
</project>

(Обратите внимание на двойную звездочку - она ​​скажет build искать файлы.class во всех подкаталогах.)

Создание панели запуска компоновщика является проблемой, поскольку 2 проекта не могут иметь одинаковое имя сборки внешнего инструмента. Каждое имя должно быть уникальным. Я в настоящее время сталкиваюсь с этой проблемой, чтобы автоматизировать мою сборку и скопировать JAR во внешнее местоположение.

Я использую Zip Builder от IBM, но это всего лишь помощь, а не реальное.

Люди могут попробовать использовать плагин IBM ZIP Creation. http://www.ibm.com/developerworks/websphere/library/techarticles/0112_deboer/deboer2.html

Другие вопросы по тегам