增补修改。
This commit is contained in:
240
build_war.xml
Normal file
240
build_war.xml
Normal file
@@ -0,0 +1,240 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="xinhai_wms_build" default="打包war" basedir=".">
|
||||
<description>WMS/WCS 完整构建: 清理→编译→发布→打包war</description>
|
||||
|
||||
<property file="${basedir}/xinhai_wms.properties"/>
|
||||
<property name="java.home" value="${jdk.home.1.8}/jre"/>
|
||||
<property name="jdk.bin" value="${jdk.home.1.8}/bin"/>
|
||||
|
||||
<property name="src.dir" value="${basedir}/src"/>
|
||||
<property name="lib.dir" value="${basedir}/lib"/>
|
||||
<property name="classes.dir" value="${basedir}/classes"/>
|
||||
<property name="deploy.dir" value="${basedir}/deploy"/>
|
||||
<property name="webapps.dir" value="${basedir}/tomcat/webapps"/>
|
||||
<property name="temp.dir" value="${deploy.dir}/temp"/>
|
||||
|
||||
<property name="wms.webroot" value="${webapps.dir}/wms"/>
|
||||
<property name="wms.classes" value="${wms.webroot}/WEB-INF/classes"/>
|
||||
<property name="wms.lib" value="${wms.webroot}/WEB-INF/lib"/>
|
||||
<property name="wcs.webroot" value="${webapps.dir}/wcs"/>
|
||||
<property name="wcs.classes" value="${wcs.webroot}/WEB-INF/classes"/>
|
||||
<property name="wcs.lib" value="${wcs.webroot}/WEB-INF/lib"/>
|
||||
|
||||
<property name="compile.encoding" value="GBK"/>
|
||||
|
||||
<path id="compile.cp">
|
||||
<fileset dir="${lib.dir}">
|
||||
<include name="*.jar"/><include name="*.zip"/>
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
<!-- ===== 清理 ===== -->
|
||||
<target name="清理">
|
||||
<delete dir="${classes.dir}"/><mkdir dir="${classes.dir}"/>
|
||||
<delete dir="${wms.classes}"/><delete dir="${wms.lib}"/>
|
||||
<delete dir="${wcs.classes}"/><delete dir="${wcs.lib}"/>
|
||||
<delete file="${deploy.dir}/wms.war"/><delete file="${deploy.dir}/wcs.war"/>
|
||||
<delete dir="${temp.dir}"/><mkdir dir="${temp.dir}"/>
|
||||
<echo message="清理完成"/>
|
||||
</target>
|
||||
|
||||
<!-- ===== 编译 ===== -->
|
||||
<target name="编译" depends="清理">
|
||||
<mkdir dir="${classes.dir}"/>
|
||||
<javac srcdir="${src.dir}" destdir="${classes.dir}" encoding="${compile.encoding}"
|
||||
source="8" target="8" debug="on"
|
||||
includeantruntime="false" failonerror="false" nowarn="on">
|
||||
<classpath refid="compile.cp"/>
|
||||
<exclude name="**/*.psd"/><exclude name="**/*.scc"/>
|
||||
</javac>
|
||||
<copy todir="${classes.dir}" preservelastmodified="true">
|
||||
<fileset dir="${src.dir}">
|
||||
<exclude name="**/*.java"/><exclude name="**/*.form"/>
|
||||
<exclude name="**/*.scc"/><exclude name="**/*.psd"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
<echo message="编译完成"/>
|
||||
</target>
|
||||
|
||||
<!-- ===== 发布 wms 服务 ===== -->
|
||||
<target name="发布wms服务" depends="编译">
|
||||
<mkdir dir="${wms.classes}"/><mkdir dir="${wms.lib}"/>
|
||||
<copy todir="${wms.classes}" preservelastmodified="true">
|
||||
<fileset dir="${classes.dir}"
|
||||
excludes="*,resource/**,images/**,**/wcs/**,**/client/**,**/gui/**
|
||||
,**/util/Object*,**/util/Client*,**/util/Too*,**/util/Form*
|
||||
,**/wms/App*,**/wms/Ent*,**/wms/Tre*"/>
|
||||
</copy>
|
||||
<copy todir="${wms.classes}" preservelastmodified="true">
|
||||
<zipfileset src="${lib.dir}/wmcs.zip"
|
||||
includes="**/stock/Instruction.class,com/zcsoft/client/*,**/util/*
|
||||
,**/stock/InstNoGenerator.class,com/zcsoft/comm/MessageHandler.class,com/zcsoft/comm/InvalidMessageException.class"
|
||||
excludes="META-INF/MANIFEST.MF"/>
|
||||
</copy>
|
||||
<copy todir="${wms.lib}" preservelastmodified="true">
|
||||
<fileset dir="${lib.dir}">
|
||||
<include name="*.jar"/><include name="*.zip"/><include name="*.dll"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
<!-- 复制 GBK 编码的模板文件到 webroot(直接从 deploy 模板目录,和 wms_old 一致) -->
|
||||
<copy file="${deploy.dir}/index.jnlp" tofile="${wms.webroot}/index.jnlp" overwrite="true"/>
|
||||
<copy file="${deploy.dir}/index.jsp" tofile="${wms.webroot}/index.jsp" overwrite="true"/>
|
||||
<copy file="${deploy.dir}/wms_version.xml" tofile="${wms.webroot}/version.xml" overwrite="true"/>
|
||||
<!-- 同步 css 和 script -->
|
||||
<copy todir="${wms.webroot}" overwrite="true" failonerror="false">
|
||||
<fileset dir="${deploy.dir}/">
|
||||
<include name="css/**"/><include name="script/**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
<!-- web.xml -->
|
||||
<copy file="${deploy.dir}/wms_web.xml" tofile="${wms.webroot}/WEB-INF/web.xml" overwrite="true"/>
|
||||
<echo message="wms 发布完成"/>
|
||||
</target>
|
||||
|
||||
<!-- ===== 发布 wcs 服务 ===== -->
|
||||
<target name="发布wcs服务" depends="编译">
|
||||
<mkdir dir="${wcs.classes}"/><mkdir dir="${wcs.lib}"/>
|
||||
<copy todir="${wcs.classes}" preservelastmodified="true">
|
||||
<fileset dir="${classes.dir}"
|
||||
excludes="*,resource/**,images/**,**/wms/**,**/wcs/client/**,**/wcs/*,com/zcsoft/**"/>
|
||||
</copy>
|
||||
<copy todir="${wcs.classes}" preservelastmodified="true">
|
||||
<zipfileset src="${lib.dir}/wmcs.zip"
|
||||
includes="**/stock/*,**/client/*,**/xml/*,**/util/*,**/comm/**
|
||||
,com/wxzd/mcs/server/*,com/wxzd/mcs/data/*"
|
||||
excludes="META-INF/MANIFEST.MF,**/stock/*Maker*,**/stock/StockMain*
|
||||
,**/stock/*Pane*,**/stock/*Painter*,**/stock/*Icon*
|
||||
,**/stock/FinishListener.class,*.fig,*.log,com/wxzd/mcs/client/*"/>
|
||||
</copy>
|
||||
<copy todir="${wcs.lib}" preservelastmodified="true">
|
||||
<fileset dir="${lib.dir}">
|
||||
<include name="*.jar"/><include name="*.zip"/><include name="*.dll"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
<echo message="wcs 发布完成"/>
|
||||
</target>
|
||||
|
||||
<!-- ===== 构建 wms.jar(客户端 Applet JAR) ===== -->
|
||||
<target name="build.wms.jar" depends="编译">
|
||||
<mkdir dir="${temp.dir}"/>
|
||||
<delete file="${temp.dir}/wms.jar" quiet="true"/>
|
||||
<zip zipfile="${temp.dir}/wms.jar" compress="false" duplicate="preserve" basedir="${classes.dir}"
|
||||
encoding="UTF-8"
|
||||
excludes="*.applet,*.html,**/server/**, package*/**, com/zcsoft/**
|
||||
, **/wcs/**, images/**, jsp*/**, Generated*/**
|
||||
, **/base/client/Gys*.class
|
||||
, **/base/client/Kh*.class
|
||||
, **/base/client/Phxx*.class
|
||||
, **/bbgl/client/CpSfcbb*.class
|
||||
, **/bbgl/client/CpXsckFhtj*.class
|
||||
, **/bbgl/client/Cw*.class
|
||||
, **/bbgl/client/Djjq*.class
|
||||
, **/bbgl/client/Jgfx*.class
|
||||
, **/bbgl/client/Mxfx*.class
|
||||
, **/jkgl/client/J**">
|
||||
<zipfileset src="${lib.dir}/ASclientLib.jar" excludes="META-INF/MANIFEST.MF"/>
|
||||
<zipfileset src="${lib.dir}/fastjson-1.2.41.jar" excludes="META-INF/MANIFEST.MF,META-INF/LICENSE.txt"/>
|
||||
<zipfileset src="${lib.dir}/dom4j-1.6.1.jar" excludes="META-INF/MANIFEST.MF,META-INF/LICENSE.txt"/>
|
||||
<zipfileset src="${lib.dir}/commons-httpclient-3.1.jar" excludes="META-INF/MANIFEST.MF,META-INF/LICENSE.txt,META-INF/NOTICE.txt"/>
|
||||
<zipfileset src="${lib.dir}/commons-codec-1.10.jar" excludes="META-INF/MANIFEST.MF,META-INF/LICENSE.txt,META-INF/NOTICE.txt"/>
|
||||
<zipfileset src="${lib.dir}/data.jar" excludes="META-INF/MANIFEST.MF"/>
|
||||
<zipfileset src="${lib.dir}/jxl.jar" excludes="META-INF/MANIFEST.MF"/>
|
||||
<zipfileset src="${lib.dir}/wmcs.zip" excludes="META-INF/MANIFEST.MF" includes="**/client/RemoteAccesser.class"/>
|
||||
<zipfileset src="${lib.dir}/im.jar" excludes="META-INF/MANIFEST.MF,images/leftArrow.gif,images/rightArrow.gif"/>
|
||||
<zipfileset src="${lib.dir}/wmcs.zip"
|
||||
includes="**/stock/Instruction.class,**/stock/StockMaintain.class,**/stock/CellNoPane*
|
||||
,**/stock/Device.class,**/stock/Chain.class
|
||||
,com/zcsoft/scanner/**,com/zcsoft/comm/InvalidMessageException.class"/>
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<!-- ===== 构建 wcs.jar ===== -->
|
||||
<target name="build.wcs.jar" depends="编译">
|
||||
<mkdir dir="${temp.dir}"/>
|
||||
<delete file="${temp.dir}/wcs.jar" quiet="true"/>
|
||||
<zip zipfile="${temp.dir}/wcs.jar" compress="false" duplicate="preserve" basedir="${classes.dir}"
|
||||
encoding="UTF-8"
|
||||
excludes="*.applet,*.html, images/*_fm.gif, **/server/**, package*/**, com/zcsoft/**, **/wms/**, Login*.class, resource/**, jsp*/**, Generated*/**">
|
||||
<zipfileset src="${lib.dir}/ASclientLib.jar" excludes="META-INF/MANIFEST.MF,resource/Ticket*.class,resource/Report*.class,
|
||||
**/tools/*/client/**,**/picture/**,**/design/**"/>
|
||||
<zipfileset src="${lib.dir}/data.jar" excludes="META-INF/MANIFEST.MF,**/tm/**,**/dbvisit/Case*,**/dbvisit/LV*,**/design/**"/>
|
||||
<zipfileset src="${lib.dir}/im.jar" excludes="META-INF/MANIFEST.MF,images/*Arrow.gif,images/align*.gif,
|
||||
images/adjust*.gif,images/*Folder.gif,images/loading.gif,
|
||||
images/finish.gif,images/saveasfile.gif,images/preview.gif,
|
||||
images/copy.gif,images/paste.gif,images/newfile.gif,
|
||||
images/arrow.gif,images/print.gif,images/label.gif,
|
||||
images/modify.gif,images/refresh.gif,images/query.gif,
|
||||
images/label.gif,images/savefile.gif,images/openfile.gif"/>
|
||||
<zipfileset src="${lib.dir}/wmcs.zip" excludes="META-INF/MANIFEST.MF"
|
||||
includes="com/zcsoft/image/*,com/zcsoft/stock/*,com/zcsoft/xml/E*
|
||||
,com/zcsoft/xml/A*,com/wxzd/mcs/client/*,com/wxzd/mcs/data/*,**/client/RemoteAccesser.class"/>
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<!-- ===== 生成keystore(不存在时自动创建) ===== -->
|
||||
<target name="生成keystore">
|
||||
<condition property="keystore.missing">
|
||||
<not><available file="${basedir}/wxzd.keystore"/></not>
|
||||
</condition>
|
||||
<antcall target="do-genkey"/>
|
||||
</target>
|
||||
|
||||
<target name="do-genkey" if="keystore.missing">
|
||||
<echo message="keystore 不存在,自动生成 ..."/>
|
||||
<exec executable="${jdk.bin}/keytool" failonerror="false">
|
||||
<arg value="-genkeypair"/>
|
||||
<arg value="-alias"/><arg value="wxzd"/>
|
||||
<arg value="-keystore"/><arg value="${basedir}/wxzd.keystore"/>
|
||||
<arg value="-storepass"/><arg value="${app.sp}"/>
|
||||
<arg value="-keypass"/><arg value="${app.kp}"/>
|
||||
<arg value="-validity"/><arg value="3660"/>
|
||||
<arg value="-dname"/><arg value="CN=WXZD"/>
|
||||
<arg value="-keyalg"/><arg value="RSA"/>
|
||||
<arg value="-keysize"/><arg value="2048"/>
|
||||
<arg value="-noprompt"/>
|
||||
</exec>
|
||||
<echo message="keystore 生成完成"/>
|
||||
</target>
|
||||
|
||||
<!-- ===== 完整打包 ===== -->
|
||||
<target name="打包war" depends="发布wms服务,发布wcs服务,build.wms.jar,build.wcs.jar,生成keystore">
|
||||
<!-- 签名客户端 JAR(JNLP 有 all-permissions,必须签名) -->
|
||||
<delete file="${wms.webroot}/WMS.jar" quiet="true"/>
|
||||
<delete file="${wcs.webroot}/WCS.jar" quiet="true"/>
|
||||
<signjar jar="${temp.dir}/wms.jar" signedjar="${wms.webroot}/WMS.jar"
|
||||
keystore="${basedir}/wxzd.keystore" storepass="${app.sp}" keypass="${app.kp}" alias="wxzd"/>
|
||||
<signjar jar="${temp.dir}/wcs.jar" signedjar="${wcs.webroot}/WCS.jar"
|
||||
keystore="${basedir}/wxzd.keystore" storepass="${app.sp}" keypass="${app.kp}" alias="wxzd"/>
|
||||
|
||||
<!-- 清理旧 WAR 和 pack.gz 残留 -->
|
||||
<delete file="${deploy.dir}/wms.war" quiet="true"/>
|
||||
<delete file="${deploy.dir}/wcs.war" quiet="true"/>
|
||||
<delete file="${wms.webroot}/WMS.jar.pack.gz" quiet="true"/>
|
||||
<delete file="${wcs.webroot}/WCS.jar.pack.gz" quiet="true"/>
|
||||
|
||||
<!-- WAR:直接用 jar 不压缩 -->
|
||||
<jar destfile="${deploy.dir}/wms.war" basedir="${wms.webroot}"
|
||||
excludes="**/web.xml **/db.properties"
|
||||
compress="false" duplicate="preserve" filesonly="false"/>
|
||||
<!-- 注入 web.xml -->
|
||||
<jar destfile="${deploy.dir}/wms.war" update="true"
|
||||
compress="false" duplicate="preserve" filesonly="false">
|
||||
<zipfileset file="${deploy.dir}/wms_web.xml" fullpath="WEB-INF/web.xml"/>
|
||||
</jar>
|
||||
|
||||
<jar destfile="${deploy.dir}/wcs.war" basedir="${wcs.webroot}"
|
||||
excludes="**/web.xml,*.log,*.fig"
|
||||
compress="false" duplicate="preserve" filesonly="false"/>
|
||||
<jar destfile="${deploy.dir}/wcs.war" update="true"
|
||||
compress="false" duplicate="preserve" filesonly="false">
|
||||
<zipfileset file="${deploy.dir}/wcs_web.xml" fullpath="WEB-INF/web.xml"/>
|
||||
</jar>
|
||||
|
||||
<echo message="========================================="/>
|
||||
<echo message="打包完成"/>
|
||||
<echo message="wms.war -> ${deploy.dir}/wms.war"/>
|
||||
<echo message="wcs.war -> ${deploy.dir}/wcs.war"/>
|
||||
<echo message="========================================="/>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
Reference in New Issue
Block a user