应用的开发如有一个好的结构,给程序的开发及发布带来便捷,一点总结: 1、文件夹的结构: ant.properties :存放每个业务模块的ant打包属性文件。 IHC0100.properties Build :存放打包后的文件,ant打包时会自动生成。 build.xml createJar.bat deploy.bat Doc :生成的doc文件。 js :存放jsp的js文件。 jsp :存放jsp文件。 src :存放程序的原文件。 CSS :存放jsp的css文件。 deploy :打包用的build文件。 ear :打包时用的配置文件,包括application.xml及manifest文件。 jar :打包时用的配置文件,包括EJB的配置文件。 war :打包时用的配置文件,包括web.xml及manifest文件。 WEB-INF :打包时用的配置文件。 2、IHC0100.properties的文件内容: subroot=IHC 3、createJar.bat的文件内容: @echo off REM No.1 1.1 Test1 (IHC0100) REM echo IHC0100.jar Creating.... call ant jar -Did=IHC0100 REM No.2 1.2 test2 (IHC0200) REM echo IPAN0200.jar Creating.... REM call ant jar -Did=IPAN0200 4、deploy.bat的文件内容: @echo off echo The application is uninstalled from WAS丅 call %WAS_HOME%\bin\wsadmin -conntype none -c "$AdminApp uninstall %2" echo The application is installed in WAS丅 call %WAS_HOME%\bin\wsadmin -conntype none -c "$AdminApp install %1%2.ear {-usedefaultbindings -defaultbinding.ejbjndi.prefix %2 -defaultbinding.force -useMetaDataFromBinary -deployejb -deployejb.dbtype ORACLE_V9I -server APP_SERVER}" 5、build.xml的文件内容: <project name="MyProject" default="ear" basedir="."> <description> QGBIHC example build file </description> <!--Mayby should change the following property --> <property name="sourceDir" value="F:/workspace/ihc/test"/> <property name="appname" value="test"/> <!--Gobal property --> <property name="src" value="${sourceDir}/src"/> <property name="doc" value="${sourceDir}/doc"/> <property name="build" value="${sourceDir}/build"/> <property name="weblib" value="${sourceDir}/WEB-INF/lib"/> <property name="classes" value="${sourceDir}/WEB-INF/classes"/> <property name="dist" value="dist"/> <property environment="env"/> <property name="WAS" value="${env.WAS_HOME}"/> <property file="${sourceDir}/ant.properties/${id}.properties"/> <target name="init"> <!-- Create the time stamp --> <tstamp/> <mkdir dir="${build}"/> <mkdir dir="${classes}"/> </target> <target name="compile" depends="init" > <echo message="${id} Compile"/> <javac srcdir="${src}" destdir="${classes}" classpath="${classes}; ${weblib}/struts.jar; ${weblib}/poi.jar; ${weblib}/xercesImpl.jar; ${weblib}/xmlParserAPIs.jar; ${weblib}/classes12.jar; ${WAS}/lib/j2ee.jar; " debug="on" optimize="on" deprecation="on"> <include name="org/**/*.java"/> </javac> </target> <!-- Jar-file Make --> <target name="jar" depends="compile"> <mkdir dir="${build}"/> <jar jarfile="${build}/${id}.jar" compress="yes" manifest="${sourceDir}/Jar/test/${subroot}/${id}/EJB/META-INF/${id}.mf"> <metainf dir="${sourceDir}/Jar/test/${subroot}/${id}/EJB/META-INF"> <include name="*.xml"/> </metainf> <fileset dir="${classes}/" includes="org/ihc/test/${subroot}/${id}/**/*.class" excludes="org/ihc/test/${subroot}/${id}/excel/** ,org/ihc/test/${subroot}/${id}/framework/** ,org/ihc/test/${subroot}/${id}/pdf/** ,org/ihc/test/${subroot}/${id}/taglib/**"/> </jar> </target> <!-- All Jar-file Make --> <target name="jar_project"> <exec executable="cmd.exe"> <arg line= "/C createjar.bat"/> </exec> </target> <!-- War-file Make --> <target name="war" depends="jar_project"> <war warfile="${build}/${appname}.war" webxml="${sourceDir}/War/test/test/WEB-INF/web.xml" manifest="${sourceDir}/War/test/test/META-INF/${appname}.mf"> <fileset dir="${sourceDir}/"> <include name="CSS/*.css"/> <include name="image/*.*"/> <include name="js/*.js"/> <include name="jsp/*.html"/> <include name="jsp/test/**/*.jsp"/> <include name="jsp/test/**/*.js"/> <include name="jsp/test/**/*.css"/> <include name="WEB-INF/*.tld"/> <include name="WEB-INF/*.xml"/> <include name="WEB-INF/*.dtd"/> <exclude name="WEB-INF/web.xml"/> </fileset> <zipfileset dir="${classes}" includes="org/ihc/test/**/excel/**/*.class ,org/ihc/test/**/framework/**/*.class ,org/ihc/test/**/taglib/**/*.class" prefix="WEB-INF/classes"/> <zipfileset dir="${weblib}/" includes="struts.jar ,classes12.jar ,modelism.jar ,xercesImpl.jar, ,xmlParserAPIs.jar, ,poi.jar" prefix="WEB-INF/lib"/> </war> </target> <!-- Ear-file Make --> <target name="ear" depends="war"> <ear earfile="${build}/${appname}.ear" appxml="${sourceDir}/Ear/test/test/META-INF/application.xml" manifest="${sourceDir}/Ear/test/test/META-INF/${appname}.mf" update="yes"> <fileset dir="${build}/" includes="*.jar ,*.war"/> </ear> </target> <!-- Application Install --> <target name="deploy" depends="ear"> <copy todir="${WAS}/installableApps" file ="${build}/${appname}.ear" /> <exec executable="cmd.exe"> <arg line= "/C deploy.bat"/> <arg value= "${build}/"/> <arg value= "${appname}"/> </exec> </target> <target name="clean" description="clean up" > <delete> <fileset dir="${build}" includes="*.jar, *.war, *.ear"/> </delete> <delete dir="${doc}"/> </target> <target name="doc"> <mkdir dir="${doc}"/> <javadoc destdir="${doc}" author="true" version="true" use="true" sourcepath="${src}" packagenames="org.ihc.test.*" > <doctitle><![CDATA[<h1>${appname}</h1>]]></doctitle> <bottom><![CDATA[<i>Copyright © 2000 Dummy Corp. All Rights Reserved.</i>]]></bottom> <tag name="todo" scope="all" description="To do:" /> <group title="IPAN Packages" packages="org.ihc.test.IPAN.*"/> <group title="MENT Packages" packages="org.ihc.test.MENT.*"/> </javadoc> </target> <target name="help"> <echo> -- Necessary Environment Variable-- WAS_HOME : WebSphere Application Server's DIR -- For function unit (each function ID)-- ant jar -Did=[function ID] : Make jar-file -- For the whole -- ant compile : Compile java-file ant war : Make war-file ant ear : Make ear-file ant deploy : Make and deploy Application ant doc : Make javadoc ant clean : Clear class/jar/war/ear ant help : Help message </echo> </target> </project>

评论