java web项目使用ant编译将不同的功能代码打包成jar,进而分局点将项目打包成不同的tar.gz包进而部署
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java web项目使用ant编译将不同的功能代码打包成jar,进而分局点将项目打包成不同的tar.gz包进而部署,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3455字,纯文字阅读大概需要5分钟。
内容图文
![java web项目使用ant编译将不同的功能代码打包成jar,进而分局点将项目打包成不同的tar.gz包进而部署](/upload/InfoBanner/zyjiaocheng/856/4bcfaaee9bbb4a18ad52b10709464884.jpg)
使用ant可以轻松的将一个项目分离代码,直接打包成不同需求的tar.gz包使用
1.build.properties (属性)
version.num=1.0 #版本信息
2.build.xml (ant打包文件)
![java web项目使用ant编译将不同的功能代码打包成jar,进而分局点将项目打包成不同的tar.gz包进而部署 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506064857611.jpg)
![java web项目使用ant编译将不同的功能代码打包成jar,进而分局点将项目打包成不同的tar.gz包进而部署 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506064857692.jpg)
<?xml version="1.0" encoding="UTF-8"?> <project basedir="." default="deploytargz" name="pomc"> <!-- 引入配置文件 --> <property file="build.properties" /> <!-- 配置引用属性 --> <property name="src.dir" value="src" /> <property name="build.dir" value="build" /> <property name="web.dir" value="WebRoot" /> <property name="name" value="pomc" /> <property name="target" value="1.8" /> <property name="source" value="1.8" /> <!-- 引用jar包的路径 --> <path id="pomc.classpath"> <pathelement location="WebRoot/WEB-INF/classes" /> <path refid="master-classpath" /> </path> <path id="master-classpath"> <fileset dir="${web.dir}/WEB-INF/lib"> <include name="*.jar" /> <include name="**/*.jar" /> </fileset> </path> <!-- 初始化 --> <target name="init"> <delete dir="${build.dir}/jar" /> <mkdir dir="${build.dir}/jar" /> <delete dir="${build.dir}/classes" /> <mkdir dir="${build.dir}/classes" /> <delete dir="${web.dir}/WEB-INF/classes" /> <mkdir dir="${web.dir}/WEB-INF/classes" /> <copy todir="${web.dir}/WEB-INF/classes" includeEmptyDirs="false"> <!-- 将项目中除会编译生成class文件的java文件之外其他类型的文件拷贝到对应的目录下,排除指定文件名后缀 --> <fileset dir="${src.dir}"> <exclude name="**/*.launch" /> <exclude name="**/*.java" /> </fileset> </copy> </target> <!-- 编译生成class文件 --> <target name="build" depends="init"> <!-- 新建编译存放的classes文件 --> <mkdir dir="${build.dir}/classes" /> <!-- java编译 --> <javac destdir="${build.dir}/classes" source="${source}" target="${target}" debug="true" deprecation="false" optimize="false" failonerror="true" encoding="utf-8"> <src path="${src.dir}" /> <!-- 编译所需要的jar包路径 --> <classpath refid="master-classpath" /> </javac> </target> <!-- 将classes打包成jar包 --> <target name="jar" depends="build" description="Compress the java class files to jar"> <mkdir dir="${build.dir}/jar" /> <delete file="${build.dir}/jar/${name}.jar" /> <buildnumber file="./buildnum.txt" /> <!-- 指定时间戳 可以调用TODAY --> <tstamp> <format property="TODAY" pattern="yyyy-MM-dd HH:mm:ss" /> </tstamp> <!-- 生成清单文件 --> <manifest file="${web.dir}/META-INF/MANIFEST.MF"> <attribute name="Built-By" value="${user.name}" /> <attribute name="Implementation-Version" value="${version.num}.${build.number}" /> <attribute name="Built-Date" value="${TODAY}" /> </manifest> <!-- 打包jar --> <!-- includes 包含哪些后缀文件 空格分隔 --> <jar destfile="${build.dir}/jar/${name}.jar" basedir="${build.dir}/classes" includes="**/*.class" manifest="${web.dir}/META-INF/MANIFEST.MF" /> </target> <!-- depends指的是执行该任务,会先执行那个任务 --> <target name="deploytargz" depends="jar" description="Deploy application as a tar.gz file"> <!-- 指定时间戳 可以调用VERSIONDAY --> <tstamp> <format property="VERSIONDAY" pattern="yyyyMMdd" /> </tstamp> <!-- 将之前编译生成的classes路径下的编译结果拷贝到WEB路径下 --> <copy todir="${web.dir}/WEB-INF/lib" overwrite="true"> <fileset dir="${build.dir}/jar"> </fileset> </copy> <!-- 打包tar.gz --> <tar destfile="${name}${VERSIONDAY}.tar.gz" basedir="${web.dir}" compression="gzip" /> <!-- 将tar.gz包拷贝到build的war目录下 --> <copy todir="${build.dir}" preservelastmodified="true"> <fileset dir="."> <include name="*.tar.gz" /> </fileset> </copy> </target> <target name="cleanup"> <!-- 删除编译文件夹 --> <delete dir="${build.dir}/classes" /> <delete> <fileset dir="." includes="*.tar.gz"/> </delete> </target> </project>View Code
内容总结
以上是互联网集市为您收集整理的java web项目使用ant编译将不同的功能代码打包成jar,进而分局点将项目打包成不同的tar.gz包进而部署全部内容,希望文章能够帮你解决java web项目使用ant编译将不同的功能代码打包成jar,进而分局点将项目打包成不同的tar.gz包进而部署所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。