2013-12-11 1 views
0

Используемые инструменты и технологии: 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> 

Как должен выглядеть муравей задачу для упаковки все в одном файле войны?

ответ

0

Это как упаковать все в военном архиве:

<!-- 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> 
     <zipfileset dir="${build}/META-INF" prefix="META-INF"> 
     <include name="persistence.xml"/> 
     </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="rs/ac/uns/ftn/informatika/mbs2/vezbe09/primer01/server/session/*.class"/> 
     <include name="messages/*.properties"/> 
     <include name="log4j.properties"/> 
     </classes> 
     <lib dir="lib"> 
     <include name="log4j-1.2.8.jar"/> 
     </lib> 
    </war> 
</target> 

<!-- Deploy --> 
<target name="deploy" depends="war"> 
    <copy todir="${tomee.dir}/webapps"> 
     <fileset dir="${dist}" includes="${warname}" /> 
    </copy>  
</target> 
0

Удалить цель уха и пусть война зависит от компиляции и баночки целей, как показано ниже:

<!-- War --> 
<target name="war" depends="compile,jar"> 
    <war destfile="${dist}/${warname}" webxml="${web}/WEB-INF/web.xml"> 
     <zipfileset dir="${web}"> 
     <include name="*.jsp"/> 
     <include name="*.css"/> 
     <include name="*.js"/> 
     </zipfileset> 
     <zipfileset dir="${dist}"> 
      <include name="${jarname}"/> 
     </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> 


<!-- Deploy --> 
<target name="deploy" depends="war"> 
    <copy todir="${tomee.dir}/webapps"> 
     <fileset dir="${dist}" includes="${warname}" /> 
    </copy>  
</target> 

Надеется, что это помогает.

+0

Спасибо за ответ, но не работает для меня. Во всяком случае, я только что переместил содержимое целевого контейнера в боевую цель, удалил задачи с банком и ухом, и теперь он работает. Полный код в принимаемом ответе – Vladimir

 Смежные вопросы

  • Нет связанных вопросов^_^