电竞比分网-中国电竞赛事及体育赛事平台

分享

怎么制作war程序

 且看且珍惜 2014-04-12
如何制作war程序?
如何打包java web程序?

------解決方案--------------------
比較好的做法是寫一個(gè)ant腳本來做這個(gè),不過思路是一樣的,就是把你手工作的東西程序化了。
------解決方案--------------------
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>
    <!-- 創(chuàng)建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>
    <!-- 創(chuàng)建JAR -->
    <copy todir="${deploy.exploded.dir}/${project.name}-jar.jar/META-INF}">
      <fileset dir="${src.config.dir}/ejb" />
    </copy>
  </target>

</project> 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多