Ant 自动化部署脚本:编写 build.xml 实现 Java 项目编译、打包、FTP 上传全流程自动化
以下是一个完整的Antbuild.xml。
·
以下是一个完整的Ant build.xml脚本,实现Java项目编译、打包和FTP上传全流程自动化:
<?xml version="1.0" encoding="UTF-8"?>
<project name="JavaProjectDeploy" default="deploy" basedir=".">
<!-- 1. 配置属性 -->
<property name="src.dir" location="src"/>
<property name="build.dir" location="build"/>
<property name="classes.dir" location="${build.dir}/classes"/>
<property name="jar.dir" location="${build.dir}/jar"/>
<property name="jar.name" value="application.jar"/>
<property name="main.class" value="com.example.Main"/>
<!-- FTP服务器配置 -->
<property name="ftp.server" value="ftp.yourserver.com"/>
<property name="ftp.port" value="21"/>
<property name="ftp.user" value="username"/>
<property name="ftp.password" value="password"/>
<property name="ftp.remote.dir" value="/deploy/"/>
<!-- 2. 初始化任务 -->
<target name="init">
<mkdir dir="${build.dir}"/>
<mkdir dir="${classes.dir}"/>
<mkdir dir="${jar.dir}"/>
</target>
<!-- 3. 编译Java源码 -->
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${classes.dir}" includeantruntime="false"/>
</target>
<!-- 4. 打包JAR文件 -->
<target name="jar" depends="compile">
<jar destfile="${jar.dir}/${jar.name}" basedir="${classes.dir}">
<manifest>
<attribute name="Main-Class" value="${main.class}"/>
</manifest>
</jar>
</target>
<!-- 5. FTP上传 -->
<target name="ftp-upload" depends="jar">
<ftp server="${ftp.server}"
port="${ftp.port}"
userid="${ftp.user}"
password="${ftp.password}"
remotedir="${ftp.remote.dir}"
passive="yes">
<fileset file="${jar.dir}/${jar.name}"/>
</ftp>
<echo>JAR文件已成功上传至FTP服务器</echo>
</target>
<!-- 6. 主部署流程 -->
<target name="deploy" depends="ftp-upload">
<echo>部署流程完成</echo>
</target>
<!-- 7. 清理构建 -->
<target name="clean">
<delete dir="${build.dir}"/>
</target>
</project>
使用说明
-
目录结构要求:
project-root/ ├── build.xml ├── src/ │ └── com/example/Main.java └── lib/ (如有第三方库) -
执行命令:
# 完整部署流程 ant deploy # 仅编译打包 ant jar # 清理构建产物 ant clean -
关键配置点:
- 修改
main.class为实际主类全限定名 - 更新FTP连接参数:
<property name="ftp.server" value="实际服务器地址"/> <property name="ftp.user" value="实际用户名"/> <property name="ftp.password" value="实际密码"/>
- 修改
-
依赖处理:
- 如需第三方库,在
compile任务中添加:<classpath> <fileset dir="lib" includes="*.jar"/> </classpath>
- 如需第三方库,在
流程说明
- 初始化:创建
build/classes和build/jar目录 - 编译:将
src下的Java源码编译到build/classes - 打包:创建可执行JAR文件到
build/jar - 上传:通过FTP将JAR文件传输到服务器
- 清理:删除构建产物(需手动执行)
注意:确保运行环境已安装
ant且网络可访问FTP服务器,FTP任务需要Ant的commons-net库支持(通常已包含在标准Ant发行版中)。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)