Добавление веб-проекта в качестве jar-файла в сборку Eclipse Deployment Assembly - PullRequest
2 голосов
/ 11 января 2011

Сайт, над которым я сейчас работаю, состоит из нескольких java-проектов и основного веб-проекта A, который ссылается на них. IDE, которую я использую - Eclipse Helios.

Я пытаюсь добавить новый проект B в стек. На проект также ссылается основной, но он сам по себе является веб-проектом. Когда я добавляю B к сборке развертывания A, при публикации Eclipse автоматически упаковывает ее как войну и развертывает ее на WEB-INF/lib сервера.

Я хочу, чтобы он был развернут как jar-файл, но также сохранял веб-характер проекта, так как он имеет некоторые функции (и тесты), которые выполняются на нем. У меня есть муравьиные задания для создания банки из B, но я не знаю, как их использовать в Eclipse. Кроме того, я не уверен, возможно ли заставить Eclipse развернуть банку из веб-проекта.

Я могу добавить jar вручную (как архив из рабочей области), но это будет означать, что всякий раз, когда кто-то очищает все проекты, jar для B удаляется, а не генерируется, так как сборка компилирует только классы развертывание упаковывает их в войну.

P.S. Я знаю, что дизайн плохой, но об изменении его не может быть и речи, поскольку у меня нет полномочий:).

Ответы [ 3 ]

2 голосов
/ 19 мая 2015

Я нашел следующее решение, которое работает для меня на Eclipse Luna

  1. Проект B "Фасеты проекта": выберите "Модуль утилит" вместо "Статическая сеть"Модуль "или" Динамический веб-модуль "

  2. Проект A" Сборка развертывания ": удалите" B "и добавьте его в другой раз.

=> «Путь развертывания» в B теперь B.jar

1 голос
/ 11 января 2011

Вы можете сделать что-то вроде этого:

  1. Написать сценарий оболочки / пакета, который
    • вызывает ANT-скрипт проекта B, который создает JAR-файл.
    • и затем он вызывает ANT-скрипт проекта A.
  2. Обновить скрипт ANT проекта A, добавить задачу копирования. Эта задача копирования файла будет использовать относительный путь для копирования файла JAR, созданного на шаге 1, в каталог WEB-INF / lib проекта А.
  3. В Eclipse перейдите на External Tool > External Tools Configuration > Program > New Progam и добавьте в него этот скрипт Shell / Batch.

Всякий раз, когда вы хотите построить. Запустите этот внешний инструмент из меню. Это обеспечит

  • Ваша сборка всегда имеет последнюю версию проекта B
  • Задачи ANT останутся маленькими.

Добавление веб-проекта в сборку развертывания Eclipse

Я не знал ничего подобного, пока Турбьёрн Равн Андерсен не указал на это в другом вопросе, где я ответил . Как упомянуто там:

То, что происходит при развертывании, определяется не путем сборки, а записью Deployment Assembly в настройках динамического веб-проекта.

Но, может быть, вы уже пробовали это.


Редактировать # 1: исправлена ​​грамматика Редактировать # 2: добавлено больше информации

1 голос
/ 11 января 2011

Самый простой способ: File -> Export ... -> Java -> Jar File

Чтобы использовать ant: откройте свойства проекта, перейдите в Builders, нажмите New, выберите Ant Builder и т. Д.

...