Ant封装Java Project
Ant打包Java Project
最近做了一个服务器端项目,要把一个Java Project打成可运行jar发送到linux服务器上去运行,但是每次都要替换那么几个文件(因为本地运行和真实环境下配置文件需要改),感觉很麻烦,就想到了用ant来打包,但是通过写好的build.xml文件不能很好的将jar包打进去(能打进去,但是运行的时候又问题)。最后发现在Eclipse生成可运行jar时也可以生成build.xml文件。
如下所示:


这样的话我们只需要在生成的build.xml文件中做适当的修改就可以了,如下面一个简单的例子:
这样的话可以把需要更改的文件放在一个专门的文件夹下,下次的时候直接执行build.xml就可以自动的处理了
最近做了一个服务器端项目,要把一个Java Project打成可运行jar发送到linux服务器上去运行,但是每次都要替换那么几个文件(因为本地运行和真实环境下配置文件需要改),感觉很麻烦,就想到了用ant来打包,但是通过写好的build.xml文件不能很好的将jar包打进去(能打进去,但是运行的时候又问题)。最后发现在Eclipse生成可运行jar时也可以生成build.xml文件。
如下所示:
这样的话我们只需要在生成的build.xml文件中做适当的修改就可以了,如下面一个简单的例子:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <project default="create_run_jar" name="eidtorserverJar"> <property name="jarname" value="C:/editor/editorserver.jar"> </property> <property name="dist" value="dist"> </property> <property name="srcDatasourceFile" value="C:/editor/replaceFile/editorserver/spring-config-datasource.xml"> </property> <property name="objDatasourceFile" value="${dist}/spring-config-datasource.xml"> </property> <target name="create_run_jar" depends="replaceFile"> <jar destfile="${jarname}" filesetmanifest="mergewithoutmain"> <manifest> <attribute name="Main-Class" value="com.emag.editorserver.listserver.ListServerMain" /> <attribute name="Class-Path" value="." /> </manifest> <fileset dir="${dist}" /> <zipfileset excludes="META-INF/*.SF" src="./lib/ibatis-2.3.0.677.jar" /> <zipfileset excludes="META-INF/*.SF" src="./lib/mina-0.8.2.jar" /> <zipfileset excludes="META-INF/*.SF" src="./lib/mysql-connector-java-3.1.10-bin.jar" /> <zipfileset excludes="META-INF/*.SF" src="./lib/slf4j-log4j13.jar" /> <zipfileset excludes="META-INF/*.SF" src="./lib/spring.jar" /> <zipfileset excludes="META-INF/*.SF" src="./lib/jotm-client.jar" /> <zipfileset excludes="META-INF/*.SF" src="./lib/xapool_jesse.jar" /> <zipfileset excludes="META-INF/*.SF" src="./lib/cglib-nodep-2.1_2.jar" /> <zipfileset excludes="META-INF/*.SF" src="./lib/aspectjweaver-1.5.3.jar" /> </jar> </target> <target name="replaceFile" depends="copyToDist"> <delete file="${objDatasourceFile}"> </delete> <copy file="${srcDatasourceFile}" todir="${dist}"> </copy> </target> <target name="copyToDist" depends="clean"> <mkdir dir="${dist}" /> <copy todir="${dist}"> <fileset dir="bin"> </fileset> </copy> </target> <target name="clean"> <delete dir="${dist}"> </delete> </target> </project>
这样的话可以把需要更改的文件放在一个专门的文件夹下,下次的时候直接执行build.xml就可以自动的处理了