Используемые инструменты и технологии: Eclipse, Apache TomEE +, MySQL, Java EE/EJB, MVC/Servlets + JSP, OpenJPA.Ant задача для развертывания приложения Java EE для TomEE как WAR, а не EAR
У меня есть приложение, которое отлично работает. Его простое веб-приложение Java EE, передние слои реализованы как шаблон MVC, JSP + Servlets и часть сервера работает с сессией EJB - без состояния и сущностями, а openJPA - поставщиком непрерывности. Это приложение развертывается как архив EAR в папку [tomee]/webapps. Я использую инструмент Ant для выполнения определенных задач. Компоненты сеанса и сущности упаковываются в виде архива баннеров. Архив войны содержит веб-часть, JSP, сервлеты и сущности. И затем, банки и война упакованы в архив ушей и скопированы/развернуты в папку [tomee]/webapps.
Теперь я хотел бы вместо уха развернуть все как один файл войны. Вот муравей задача для войны, баночек, а затем ухо в архиве:
<!-- War -->
<target name="war" depends="compile">
<war destfile="${dist}/${warname}" webxml="${web}/WEB-INF/web.xml">
<zipfileset dir="${web}">
<include name="*.jsp"/>
<include name="*.css"/>
<include name="*.js"/>
</zipfileset>
<classes dir="build">
<include name="rs/ac/uns/ftn/informatika/mbs2/vezbe09/primer01/server/servlet/*.class"/>
<include name="rs/ac/uns/ftn/informatika/mbs2/vezbe09/primer01/server/entity/*.class"/>
<include name="messages/*.properties"/>
<include name="log4j.properties"/>
</classes>
<lib dir="lib">
<include name="log4j-1.2.8.jar"/>
</lib>
</war>
</target>
<!-- Jar -->
<target name="jar" depends="compile">
<mkdir dir="${dist}"/>
<jar destfile="${dist}/${jarname}">
<zipfileset dir="${build}/META-INF" prefix="META-INF">
<include name="persistence.xml"/>
</zipfileset>
<zipfileset dir="${build}">
<include name="rs/ac/uns/ftn/informatika/mbs2/vezbe09/primer01/server/session/*.class"/>
<include name="rs/ac/uns/ftn/informatika/mbs2/vezbe09/primer01/server/entity/*.class"/>
</zipfileset>
</jar>
</target>
<!-- Ear -->
<target name="ear" depends="jar,war">
<mkdir dir="${dist}"/>
<ear destfile="${dist}/${earname}" appxml="${build}/META-INF/application.xml">
<zipfileset dir="${dist}">
<include name="${jarname}"/>
<include name="${warname}"/>
</zipfileset>
</ear>
</target>
<!-- Deploy -->
<target name="deploy" depends="ear">
<copy todir="${tomee.dir}/webapps">
<fileset dir="${dist}" includes="${earname}" />
</copy>
</target>
Как должен выглядеть муравей задачу для упаковки все в одном файле войны?
Спасибо за ответ, но не работает для меня. Во всяком случае, я только что переместил содержимое целевого контейнера в боевую цель, удалил задачи с банком и ухом, и теперь он работает. Полный код в принимаемом ответе – Vladimir