Преобразование папки WAR JBOSS в исполняемый файл JAR - PullRequest
0 голосов
/ 30 октября 2009

У меня есть скрипт сборки ANT, который развертывает папку WAR в моем каталоге развертывания JBOSS. Могу ли я преобразовать это в исполняемый файл WAR / JAR и запустить его?

Например, если моя папка называется: MYAPP.WAR, могу ли я сгенерировать: NEWAPP.WAR, где NEWAPP.WAR - исполняемый файл. Если я просто помещу его в каталог Jboss и запустлю JBOSS, он его подберет? Должен ли я сначала переименовать исходную папку во что-то другое для проверки?


РЕДАКТИРОВАТЬ: Извините, кажется, я не очень ясно. Причина, по которой я спрашиваю об этом, заключается в том, что я пытаюсь использовать Crystal Reports для Eclipse. Когда я создаю новый проект, используя его плагин, он работает нормально, проблема возникает, когда я вручную добавляю библиотеки в существующий динамический веб-проект. Это потому, что плагин требует Jboss для развертывания проекта. При этом Jboss берет полный проект и развертывает его в новом файле WAR. Проблема в том, что этот конкретный проект предназначен для расширения существующего приложения. Поэтому я обычно выполняю развертывание своего кода с помощью ant-скрипта, который помещает все файлы в существующую папку WAR, и запускаю Jboss из Eclipse, но я НЕ настраиваю его для развертывания, он просто запускает приложение, потому что там находится папка WAR.

При использовании плагина Crystal Reports происходит следующее: 1) Если я настраиваю проект для развертывания, я, конечно, получаю ошибки, так как мой проект Eclipse НЕ включает в себя все файлы конфигурации (такие как XML и т. Д.), Которые являются частью исходного проекта. Я не хочу включать их в проект расширения, поскольку это повлияет на все мои скрипты контроля версий. 2) Если я обновлю свой Ant-скрипт, просто включу все классы и файлы, добавленные в Crystal Report, я получу исключение ZipException. При прохождении кода кажется, что код Crystal Reports предполагает, что код был развернут в одном файле WAR, и пытается извлечь необходимые файлы конфигурации и отчета, но поскольку проект был развернут в папке War, это, конечно, не удается .

Поэтому я задаю этот вопрос следующим образом: возможно, если я преобразую папку WAR, которую я создаю с помощью сценария ANT, в один файл WAR, код Crystal Reports будет работать.

Идеи? Вы все еще больше запутались?

Ответы [ 3 ]

0 голосов
/ 30 октября 2009

Кажется, что вы подразумеваете нечто иное, чем большинство людей, когда говорите «исполняемый файл». Если у вас есть каталог с именем MYAPP.WAR, который автоматически развертывается при помещении его в каталог развертывания, вы можете просто сжать его (zip _MYAPP.WAR MYAPP.WAR) и развернуть _MYAPP.WAR, поместив его в каталог развертывания. И да, вам, вероятно, следует отключить MYAPP.WAR перед этим.

Вы также можете создать архив, который является одновременно исполняемым JAR-файлом и развертываемым WAR-файлом. Хадсон делает это, и вы, вероятно, сможете узнать, как они это делают, изучив их файл WAR.

0 голосов
/ 01 ноября 2009

Я не очень понимаю ваш вопрос, но, возможно, вы ищете JBoss Embedded.

http://www.jboss.org/community/wiki/EmbeddedJBoss

0 голосов
/ 30 октября 2009

Вы, кажется, путаете два понятия здесь:

WAR-файл используется для упаковки веб-приложения. Это не имеет смысла без (и не будет работать вне) сервера приложений или контейнера сервлета. Не существует такого понятия, как «исполняемый» WAR-файл; однако он действительно может быть развернут в горячем режиме (например, развернут, как только он помещен в назначенную папку без перезапуска контейнера), если контейнер настроен надлежащим образом.

JAR-файл используется для упаковки набора классов и / или ресурсов, возможно составляющих приложение. Можно объявить точку входа в манифесте файла JAR, так что выполнение java -jar jar_file_name приведет к запуску указанного класса записи. В ОС, которые связывают java -jar ... по умолчанию с расширением файла .jar, возможен прямой запуск jar (из командной строки / двойным щелчком / etc ...). Вот что получило название «исполняемый файл jar».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...