Ant学习总结2
<?xml version="1.0" encoding="UTF-8"?>
<project default= "compile" basedir= "." name= "testant" >
<description>
一段描述信息,没有实际作用。
</description>
<property name= "src" value= "src" />
<property name= "dest" value= "build" />
<property name= "dist" value= "dist" />
<property name= "lib.dir" value= "lib" />
<property name= "testant_jar" value= "testant.jar" />
<property name= "product.jar.name" value= "${project.name}.jar" />
<property name= "product.war.name" value= "${project.name}.war" />
<!--property 元素相当于变量,存放一定的值,一旦给定以后不能改变,只能通过控制台命令行给初始值。一般用 value 给其赋值,可以用 location 代替 value 是因为 location 属性专门设计用于以平台无关的方式包含文件系统路径,也就是当前路径。-->
<!--一个target 元素就是一个任务,一个步骤,如果命令行没有指定开始任务,则由 project 元素的 default 属性决定要执行的任务-->
<!--mkdir 元素用来创建目录 dir 属性用来指定目录路径-->
<target name= "init" description= "在元素中指定描述信息" >
<echo message= "这里的信息将被输出到控制台!" />
<mkdir dir= "${dest}"/>
<mkdir dir= "${dist}"/>
<mkdir dir= "${dest}/src" />
<mkdir dir= "${dest}/webdocs" />
</target>
<!--delete 元素用来删除目录 $ 引用 property 元素指定的 name为dest、dist的属性变量-->
<target name= "clean" >
<delete dir= "${dest}"/>
<delete dir= "${dist}" />
</target>
<!--javac 元素把 srcdir 指定目录下所有 *.java 文件编译成 *.class 文件到 destdir 指定的目录下!如果不指定 destdir 属性,那么默认编译到同一目录下。其他属性:classpath:等价于javac 的-classpath 选项,指定所使用的类路径;debug="on":指示编译器应该带调试信息编译源文件。-->
<target name= "compile" depends= "init">
<javac srcdir= "${src}" destdir= "${dest}/src" debug= "on"/>
</target>
<!--将项目源文件打jar包-->
<target name= "create-jar" depends= "compile" >
<echo message= "将项目源文件打包jar!" />
<jar jarfile= "${dist}/${product.jar.name}" >
<fileset dir= "${dest}/src" >
<include name= "**/*" />
</fileset> </jar>
</target>
<!--将项目源文件打war包-->
<target name= "dist-war" depends= "clean,init,compile,create-jar" >
<war destfile= "${dist}/${product.war.name}" >
<fileset dir= "${dest}/webdocs" ></fileset>
</war>
</target>
<!--将jar,war包导入到jboss制定路径-->
<target name= "copy-war-to-jboss" depends= "clean,init,compile,create-jar,dist-war" >
<echo message= "将编译的和导入的jar包导入到jboss下的server/default/lib目录下" />
<copy todir= "${jboss.home}/server/default/lib" overwrite= "true" >
<fileset dir= "${dist}" includes= "*.jar" />
<fileset dir= "${lib.dir}" includes= "*.jar" />
</copy>
<echo message= "删除历史的war包" />
<delete dir= "${jboss.home}/server/default/deploy/${product.war.name}" /> <echo message= "将打成的war包拷贝到server/default/deploy目录下" />
<copy todir= "${jboss.home}/server/default/deploy" overwrite= "true" >
<fileset dir= "${dist}" includes= "${product.war.name}" />
</copy>
</target>
<!--将jar、war包导入到jboss制定目录,但是和上面的方式不同,不同之处是上面的方法是将war包拷贝到jboss制定目录,而现在先创建一个文件夹(*.war),再将${dest}/webdocs下的内容拷贝到这个文件夹下--> <target name= "copy-dir-to-jboss" depends= "clean,init,compile,create-jar" >
<echo message= "将编译的和导入的jar包导入到jboss下的server/default/lib目录下" />
<copy todir= "${jboss.home}/server/default/lib" overwrite= "true" >
<fileset dir= "${dist}" includes= "*.jar" />
<fileset dir= "${lib.dir}" includes= "*.jar" />
</copy>
<echo message= "删除历史的war包" />
<delete dir= "${jboss.home}/server/default/deploy/${product.war.name}" />
<echo message= "再将${dest}/webdocs下的内容拷贝到server/default/deploy/${product.war.name}目录下" />
<copy todir= "${jboss.home}/server/default/deploy/${product.war.name}" overwrite= "true" >
<fileset dir= "${dest}/webdocs" includes= "**/*" />
</copy>
</target>
</project>
<project default= "compile" basedir= "." name= "testant" >
<description>
一段描述信息,没有实际作用。
</description>
<property name= "src" value= "src" />
<property name= "dest" value= "build" />
<property name= "dist" value= "dist" />
<property name= "lib.dir" value= "lib" />
<property name= "testant_jar" value= "testant.jar" />
<property name= "product.jar.name" value= "${project.name}.jar" />
<property name= "product.war.name" value= "${project.name}.war" />
<!--property 元素相当于变量,存放一定的值,一旦给定以后不能改变,只能通过控制台命令行给初始值。一般用 value 给其赋值,可以用 location 代替 value 是因为 location 属性专门设计用于以平台无关的方式包含文件系统路径,也就是当前路径。-->
<!--一个target 元素就是一个任务,一个步骤,如果命令行没有指定开始任务,则由 project 元素的 default 属性决定要执行的任务-->
<!--mkdir 元素用来创建目录 dir 属性用来指定目录路径-->
<target name= "init" description= "在元素中指定描述信息" >
<echo message= "这里的信息将被输出到控制台!" />
<mkdir dir= "${dest}"/>
<mkdir dir= "${dist}"/>
<mkdir dir= "${dest}/src" />
<mkdir dir= "${dest}/webdocs" />
</target>
<!--delete 元素用来删除目录 $ 引用 property 元素指定的 name为dest、dist的属性变量-->
<target name= "clean" >
<delete dir= "${dest}"/>
<delete dir= "${dist}" />
</target>
<!--javac 元素把 srcdir 指定目录下所有 *.java 文件编译成 *.class 文件到 destdir 指定的目录下!如果不指定 destdir 属性,那么默认编译到同一目录下。其他属性:classpath:等价于javac 的-classpath 选项,指定所使用的类路径;debug="on":指示编译器应该带调试信息编译源文件。-->
<target name= "compile" depends= "init">
<javac srcdir= "${src}" destdir= "${dest}/src" debug= "on"/>
</target>
<!--将项目源文件打jar包-->
<target name= "create-jar" depends= "compile" >
<echo message= "将项目源文件打包jar!" />
<jar jarfile= "${dist}/${product.jar.name}" >
<fileset dir= "${dest}/src" >
<include name= "**/*" />
</fileset> </jar>
</target>
<!--将项目源文件打war包-->
<target name= "dist-war" depends= "clean,init,compile,create-jar" >
<war destfile= "${dist}/${product.war.name}" >
<fileset dir= "${dest}/webdocs" ></fileset>
</war>
</target>
<!--将jar,war包导入到jboss制定路径-->
<target name= "copy-war-to-jboss" depends= "clean,init,compile,create-jar,dist-war" >
<echo message= "将编译的和导入的jar包导入到jboss下的server/default/lib目录下" />
<copy todir= "${jboss.home}/server/default/lib" overwrite= "true" >
<fileset dir= "${dist}" includes= "*.jar" />
<fileset dir= "${lib.dir}" includes= "*.jar" />
</copy>
<echo message= "删除历史的war包" />
<delete dir= "${jboss.home}/server/default/deploy/${product.war.name}" /> <echo message= "将打成的war包拷贝到server/default/deploy目录下" />
<copy todir= "${jboss.home}/server/default/deploy" overwrite= "true" >
<fileset dir= "${dist}" includes= "${product.war.name}" />
</copy>
</target>
<!--将jar、war包导入到jboss制定目录,但是和上面的方式不同,不同之处是上面的方法是将war包拷贝到jboss制定目录,而现在先创建一个文件夹(*.war),再将${dest}/webdocs下的内容拷贝到这个文件夹下--> <target name= "copy-dir-to-jboss" depends= "clean,init,compile,create-jar" >
<echo message= "将编译的和导入的jar包导入到jboss下的server/default/lib目录下" />
<copy todir= "${jboss.home}/server/default/lib" overwrite= "true" >
<fileset dir= "${dist}" includes= "*.jar" />
<fileset dir= "${lib.dir}" includes= "*.jar" />
</copy>
<echo message= "删除历史的war包" />
<delete dir= "${jboss.home}/server/default/deploy/${product.war.name}" />
<echo message= "再将${dest}/webdocs下的内容拷贝到server/default/deploy/${product.war.name}目录下" />
<copy todir= "${jboss.home}/server/default/deploy/${product.war.name}" overwrite= "true" >
<fileset dir= "${dest}/webdocs" includes= "**/*" />
</copy>
</target>
</project>
附件:test的一段ant脚本代码
http://www.cnblogs.com/pony1223/admin/Files.aspx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端