使用的工具和技術: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任務?
感謝您的答覆,但我沒有工作。無論如何,我剛剛將jar目標內容移至戰爭目標,刪除了jar和ear任務,現在它可以工作。完整的代碼已被接受 – Vladimir