当前位置: 代码迷 >> Java Web开发 >> 怎么制作war程序
  详细解决方案

怎么制作war程序

热度:86   发布时间:2016-04-17 01:28:07.0
如何制作war程序?
如何打包java web程序?

------解决方案--------------------
比较好的做法是写一个ant脚本来做这个,不过思路是一样的,就是把你手工作的东西程序化了。
------解决方案--------------------
XML code
<?xml version="1.0" encoding="GB2312"?><project name="jboss" basedir="." default="ear">  <property file="./build.properties" />  <property environment="env" />  <property name="project.root" value="." />  <property name="project.lib.dir" value="${project.root}/lib" />  <property name="src.dir" value="${project.root}/src" />  <property name="src.java.dir" value="${src.dir}/java" />  <property name="src.config.dir" value="${src.dir}/config" />  <property name="src.jsp.dir" value="${project.root}/webroot" />  <property name="dist.dir" value="${project.root}/dist" />  <property name="deploy.exploded.dir" value="${dist.dir}/project/${project.name}-exploded-ear" />  <property name="deploy.ear.dir" value="${dist.dir}/project" />  <property name="build.dir" value="${project.root}/build" />  <path id="master-classpath">     <fileset file="${j2ee.jar}" />     <fileset dir="${project.lib.dir}" />  </path>  <target name="clean" description="清空所有输出文件包括build和部署目录">    <delete dir="${build.dir}/**" />    <delete dir="${deploy.exploded.dir}" />    <delete dir="${deploy.exploded.dir}/${project.name}.ear" />  </target>  <target name="compile" description="开始编译">    <mkdir dir="${build.dir}" />    <javac destdir="${build.dir}" target="1.5" debug="true" deprecation="false" optimize="false" failonerror="true">      <src path="${src.dir}" />      <classpath refid="master-classpath" />    </javac>  </target>  <target name="ear" depends="exploded-ear" description="开始打包EAR">    <jar jarfile="${deploy.ear.dir}/${project.name}-ejb.jar" basedir="${deploy.exploded.dir}/${project.name}-ejb.jar" />    <jar jarfile="${deploy.ear.dir}/${project.name}-ejb.war"     basedir="${deploy.exploded.dir}/${project.name}.war" />    <jar jarfile="${deploy.ear.dir}/${project.name}-ejb.ear">      <fileset dir="${deploy.exploded.dir}">        <exclude name="APP-INF/classes/context-${project.name}.properties" />        <include name="APP-INF/**" />        <include name="META-INF/**" />      </fileset>      <fileset dir="${deploy.ear.dir}">        <include name="${project.name}-ejb.jar" />        <include name="${project.name}.war" />      </fileset>    </jar>  </target>  <target name="exploded-ear" depends="clean,compile">    <mkdir dir="${deploy.exploded.dir}/APP-INF/classes" />    <mkdir dir="${deploy.exploded.dir}/APP-INF/lib" />    <mkdir dir="${deploy.exploded.dir}/META-INF" />    <mkdir dir="${deploy.exploded.dir}/${project.name}-ejb.jar/META-INF" />    <mkdir dir="${deploy.exploded.dir}/${project.name}.war/WEB-INF/lib" />    <mkdir dir="${deploy.exploded.dir}/${project.name}.war/WEB-INF/classes" />    <copy todir="${deploy.exploded.dir}/${project.name}-ejb.jar/META-INF" >      <fileset dir="${src.config.dir}/app" />    </copy>    <copy todir="${deploy.exploded.dir}/APP-INF/classes">      <fileset dir="${build.dir}">        <exclude name="**/web/**" />        <exclude name="**/biz/**" />        <exclude name="**/integration/**" />      </fileset>      <fileset dir="${src.config.dir}/core" />      <fileset dir="${src.config.dir}">        <include name="context-${project.name}.properties" />      </fileset>    </copy>    <copy todir="${deploy.exploded.dir}/APP-INF/lib">      <fileset dir="${project.lib.dir}" />    </copy>    <!-- 创建WAR -->    <copy todir="${deploy.exploded.dir}/${project.name}.war/WEB-INF/classes">      <fileset dir="${src.config.dir}/web">        <exclude name="*.properties" />      </fileset>    </copy>    <copy todir="${deploy.exploded.dir}/${project.name}.war/WEB-INF/lib">      <fileset dir="${project.lib.dir}" />    </copy>    <!-- 创建JAR -->    <copy todir="${deploy.exploded.dir}/${project.name}-jar.jar/META-INF}">      <fileset dir="${src.config.dir}/ejb" />    </copy>  </target></project>
  相关解决方案