最近项目中尝试了一下ant打包部署。本文前提是你安装好JDK,设置好环境变量,和安装好ant。
这个文件包含了。。打包到tomcat和weblogic2种方式,deploywar是指发布到tomcat上,deploy是发布weblogic服务器上,weblogic部署需要一些参数,包括用户名密码端口之类,主要是name以weblogic和wls开头的property属性。里面有个j2eelib.dir。主要是设置myeclipse 里面java EE5环境的classpath。主要用于生成javadoc。。要注意,在编译和生成javadoc的时候要设置编码。
如果大家也是myeclipse web项目,可以将这个build.xml放在项目的根目录下。和SRC平级。然后改下项目名称和tomcat或者weblogic的路径,就可以执行了。(其实,在项目组使用中,应该是将这些需要配置的属性放在一个properties文件中,而build.xml是公用的无需修改的,我自己尝试也就懒得搞了。)。可以直接在myeclipse中点击右键,run as Ant Build.如果已经安装ant,也可以直接在cmd控制台下进入到项目根目录,输入ant即可。
- <?xml version="1.0"?>
- <project name="test" basedir="." default="deploy">
- <property name="name" value= "test"/>
- <property name="src" value="src"/>
- <property name="lib" value="WebRoot/WEB-INF/lib"/>
- <property name="webapp" value="WebRoot"/>
- <property name="packages" value="com.*"/>
- <property name="dist.dir" value="dist"/>
- <property name="build.src" value="${dist.dir}/${name}/src"/>
- <property name="build.dest" value="${dist.dir}/${name}/WEB-INF/classes"/>
- <property name="buildwar.dest" value="${dist.dir}/${name}"/>
- <property name="build.javadocs" value="${dist.dir}/doc"/>
- <property name="jar.dest" value="${dist.dir}/jar"/>
- <property name="war.dest" value="${dist.dir}/war"/>
- <property name="weblogic.home" value="D:\oracle\Middleware\wlserver10.3" />
- <property name="wls.username" value="weblogic" />
- <property name="wls.password" value="password_1" />
- <property name="wls.hostname" value="localhost" />
- <property name="wls.port" value="7001" />
- <property name="wls.server.name" value="AdminServer" />
- <property name="warfile" value="${name}.war"/>
- <property name="tomcat.home" value="D:\apache\apache-tomcat-6.0.36"/>
- <!--<property name="j2eelib.dir" value="D:\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\EE_5"/>-->
- <path id="classpath">
- <!--
- <fileset dir="${j2eelib.dir}">
- <include name="**/*.jar"/>
- </fileset> -->
- <fileset dir="${lib}">
- <include name="**/*.jar"/>
- </fileset>
- <fileset dir="${weblogic.home}\server\lib">
- <include name="weblogic.jar" />
- </fileset>
- </path>
- <target name="init" description="创建打包需要的路径,拷贝源文件到打包路径下">
- <mkdir dir="${dist.dir}"/>
- <mkdir dir="${build.src}"/>
- <mkdir dir="${build.dest}"/>
- <mkdir dir="${buildwar.dest}"/>
- <mkdir dir="${jar.dest}"/>
- <mkdir dir="${war.dest}"/>
- <copy todir="${build.src}" overwrite="true">
- <fileset dir="${src}" >
- <exclude name="log4j.properties"/>
- <exclude name="version.properties"/>
- </fileset>
- </copy>
- <copy todir="${buildwar.dest}" overwrite="true">
- <fileset dir="${webapp}">
- <exclude name="**/log4j.properties"/>
- <exclude name="**/version.properties"/>
- </fileset>
- </copy>
- </target>
- <taskdef name="wldeploy" classname="weblogic.ant.taskdefs.management.WLDeploy" classpathref="classpath" />
- <target name="build" depends="init" description="编译 java 文件,拷贝 properties 属性配置文件到编译后的路径下">
- <javac srcdir="${build.src}" encoding="utf-8" destdir="${build.dest}">
- <classpath refid="classpath"/>
- </javac>
- <copy todir="${build.dest}">
- <fileset dir="${build.src}">
- <include name="**/*.xml"/>
- <include name="**/config.properties"/>
- </fileset>
- </copy>
- </target>
- <target name="javadoc" depends="build" description="生成 java 的 API 帮助文档">
- <mkdir dir="${build.javadocs}"/>
- <javadoc packagenames="${packages}" encoding="utf-8" sourcepath="${build.src}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${name} API" doctitle="${name}">
- <classpath refid="classpath"/>
- </javadoc>
- </target>
- <target name="buildwar" depends="javadoc" description="打 war 包,不将 java 文件打入包内">
- <delete dir="${build.src}"/>
- <war warfile="${war.dest}/${warfile}" webxml="${buildwar.dest}/WEB-INF/web.xml">
- <lib dir="${buildwar.dest}/WEB-INF/lib"/>
- <classes dir="${build.dest}"/>
- <fileset dir="${buildwar.dest}" >
- <include name="***.*" />
- <include name="**/claim-servlet.xml" />
- </fileset>
- </war>
- </target>
- <target name="clean" depends="init" description="清除打包用临时文件">
- <delete dir="${build.src}"/>
- <delete>
- <fileset dir="${build.dest}" includes="**/*.classes"/>
- </delete>
- <delete dir="${buildwar.dest}"/>
- </target>
- <target name="deploywar" depends="buildwar,clean" description="发布 war 包至 tomcat 目录下">
- <copy todir="${tomcat.home}/webapps">
- <fileset dir="${war.dest}">
- <include name="**/*.war"/>
- </fileset>
- </copy>
- </target>
- <target name="deploy" depends="buildwar,clean,undeploy">
- <wldeploy action="deploy" name="${name}" source="${war.dest}/${warfile}"
- targets="${wls.server.name}" user="${wls.username}" password="${wls.password}"
- adminurl="t3://${wls.hostname}:${wls.port}" debug="true" verbose="true" failοnerrοr="true" />
- <echo message="come here......" />
- <echo message="deploy success......." />
- </target>
- <target name="undeploy">
- <wldeploy action="undeploy" name="${name}" targets="${wls.server.name}" user="${wls.username}" password="${wls.password}" adminurl="t3://${wls.hostname}:${wls.port}" debug="false" verbose="false" failοnerrοr="false" />
- </target>
- </project>
这个文件包含了。。打包到tomcat和weblogic2种方式,deploywar是指发布到tomcat上,deploy是发布weblogic服务器上,weblogic部署需要一些参数,包括用户名密码端口之类,主要是name以weblogic和wls开头的property属性。里面有个j2eelib.dir。主要是设置myeclipse 里面java EE5环境的classpath。主要用于生成javadoc。。要注意,在编译和生成javadoc的时候要设置编码。
如果大家也是myeclipse web项目,可以将这个build.xml放在项目的根目录下。和SRC平级。然后改下项目名称和tomcat或者weblogic的路径,就可以执行了。(其实,在项目组使用中,应该是将这些需要配置的属性放在一个properties文件中,而build.xml是公用的无需修改的,我自己尝试也就懒得搞了。)。可以直接在myeclipse中点击右键,run as Ant Build.如果已经安装ant,也可以直接在cmd控制台下进入到项目根目录,输入ant即可。