2013-12-11 61 views
0

使用的工具和技術:Eclipse,Apache TomEE +,MySQL,Java EE/EJB,MVC/Servlets + JSP,OpenJPA。用於將Java EE應用程序部署爲TomEE而不是EAR的Ant任務,而不是EAR

我有一個工作正常的應用程序。其簡單的Java EE web應用程序,前端層以MVC模式實現,JSP + Servlet和服務器部分與EJB的無狀態會話和實體bean以及openJPA作爲持久性提供程序一起工作。 此應用正在作爲EAR存檔部署到[tomee]/webapps文件夾。我正在使用Ant工具來完成特定任務。會話和實體bean打包爲jar文件。 War歸檔包含Web部件,JSP的,servlet和實體。然後,jar和war被打包成ear archive並複製/部署到[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> 

應該如何尋找包裝在一個戰爭文件的一切一個Ant任務?

回答

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

取下耳目標,讓戰爭依賴於編譯和jar目標如下:

<!-- 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

感謝您的答覆,但我沒有工作。無論如何,我剛剛將jar目標內容移至戰爭目標,刪除了jar和ear任務,現在它可以工作。完整的代碼已被接受 – Vladimir

相關問題