Ant正规
<project name="jZoomer" default="package" basedir="."> <!-- Set the properties related to the project. --> <property name="project.name" value="jZoomer" /> <property name="project.version" value="v1.2.0" /> <property name="project.mainclass" value="com.dextrys.trilogy.toolkit.jzoomer.ui.JZoomerWindow" /> <property name="project.encoding" value="utf-8" /> <property name="debuglevel" value="source,lines,vars" /> <property name="target" value="1.5" /> <property name="source" value="1.5" /> <!-- Set the properties related to the fatjar --> <property name="fjepPath" value="lib/fatjar.jar" /> <taskdef name="fatjar.build" classname="net.sf.fjep.anttask.FJBuildTask" classpath="${fjepPath}" /> <typedef name="fatjar.manifest" classname="net.sf.fjep.anttask.FJManifestType" classpath="${fjepPath}" /> <typedef name="fatjar.exclude" classname="net.sf.fjep.anttask.FJExcludeType" classpath="${fjepPath}" /> <typedef name="fatjar.jarsource" classname="net.sf.fjep.anttask.FJJarSourceType" classpath="${fjepPath}" /> <typedef name="fatjar.filesource" classname="net.sf.fjep.anttask.FJFileSourceType" classpath="${fjepPath}" /> <!-- ======================================================================== Set the properties related to the source tree. ======================================================================== --> <property name="src.dir" location="src/" /> <property name="src.java.dir" location="src/java" /> <property name="src.res.dir" location="src/res" /> <property name="src.test.dir" location="test/java" /> <property name="src.test.res.dir" location="test/res" /> <property name="lib.dir" location="lib/" /> <property name="doc.dir" location="doc/" /> <property name="conf.dir" location="conf/" /> <property name="log.dir" location="log/" /> <!-- ======================================================================== Set the properties related to the target area ======================================================================== --> <!-- Destination locations for the build --> <property name="target.dir" location="out" /> <property name="target.classes.dir" location="${target.dir}/classes" /> <property name="target.test.dir" location="${target.dir}" /> <property name="target.test.classes.dir" location="${target.test.dir}/classes" /> <property name="target.test.data.dir" location="${target.test.dir}/data" /> <property name="target.test.reports.dir" location="${target.test.dir}/reports" /> <!-- Libraries required for the sample project --> <path id="compile.classpath"> <fileset dir="${lib.dir}"> <include name="*.jar" /> </fileset> </path> <!-- Destination locations for the package --> <property name="package.dir" location="package/${project.name}_${project.version}" /> <property name="package.src.dir" location="${package.dir}/src" /> <property name="package.conf.dir" location="${package.dir}/conf" /> <property name="package.doc.dir" location="${package.dir}/doc" /> <property name="package.log.dir" location="${package.dir}/log" /> <property name="package.src.zip.filename" value="${package.dir}/${project.name}_src_${project.version}.zip" /> <property name="package.jar.filename" value="${package.dir}/${project.name}_${project.version}.jar" /> <property name="package.filename" value="package/${project.name}_${project.version}_all.zip" /> <!-- ======================================================================== Initialize the build. Must be called by all targets ======================================================================== --> <target name="init"> </target> <!-- ======================================================================= Clean build directory ======================================================================== --> <target name="clean" description="Clean all generated files"> <delete dir="${target.dir}" /> </target> <!-- ======================================================================== Compile Java Classes ======================================================================== --> <target name="compile.java" depends="init"> <mkdir dir="${target.classes.dir}" /> <copy includeemptydirs="false" todir="${target.classes.dir}"> <fileset dir="${src.java.dir}" excludes="**/*.launch, **/*.java, **/*.svn" /> </copy> <copy includeemptydirs="false" todir="${target.classes.dir}"> <fileset dir="${src.res.dir}" excludes="**/*.launch, **/*.java, **/*.svn" /> </copy> <copy includeemptydirs="false" todir="${target.classes.dir}"> <fileset dir="${src.test.dir}" excludes="**/*.launch, **/*.java, **/*.svn" /> </copy> <copy includeemptydirs="false" todir="${target.classes.dir}"> <fileset dir="${src.test.res.dir}" excludes="**/*.launch, **/*.java, **/*.svn" /> </copy> <javac debug="true" debuglevel="${debuglevel}" encoding="${project.encoding}" destdir="${target.classes.dir}" source="${source}" target="${target}"> <src path="${src.java.dir}" /> <classpath refid="compile.classpath" /> </javac> <javac debug="true" debuglevel="${debuglevel}" encoding="${project.encoding}" destdir="${target.classes.dir}" source="${source}" target="${target}"> <src path="${src.res.dir}" /> <classpath refid="compile.classpath" /> </javac> </target> <!-- ======================================================================== Build runnable jar by fatjar ======================================================================== --> <target name="compile.fatjar" depends="compile.java"> <mkdir dir="${package.dir}" /> <fatjar.build output="${package.jar.filename}"> <fatjar.manifest mainclass="com.dextrys.trilogy.toolkit.jzoomer.ui.JZoomerWindow" /> <fatjar.filesource path="out/classes" relpath="" /> <fatjar.jarsource file="lib/org.eclipse.osgi_3.3.1.R33x_v20070828.jar" relpath="" /> <fatjar.jarsource file="lib/org.eclipse.ui.forms_3.3.0.v20070511.jar" relpath="" /> <fatjar.jarsource file="lib/org.eclipse.core.commands_3.3.0.I20070605-0010.jar" relpath="" /> <fatjar.jarsource file="lib/org.eclipse.equinox.common_3.3.0.v20070426.jar" relpath="" /> <fatjar.jarsource file="lib/org.eclipse.core.runtime_3.3.100.v20070530.jar" relpath="" /> <fatjar.jarsource file="lib/org.eclipse.swt.win32.win32.x86_3.3.1.v3346i.jar" relpath="" /> <fatjar.jarsource file="lib/org.eclipse.jface_3.3.1.M20070910-0800b.jar" relpath="" /> <fatjar.jarsource file="lib/org.eclipse.jface.text_3.3.1.r331_v20070629.jar" relpath="" /> </fatjar.build> </target> <!-- ======================================================================== Package the sources ======================================================================== --> <!-- Package the system sources --> <target name="package" depends="init, compile.fatjar"> <!-- <mkdir dir="${package.dir}" /> --> <copy todir="${package.conf.dir}"> <fileset dir="${conf.dir}"> <exclude name="**/*.svn" /> </fileset> </copy> <copy todir="${package.log.dir}"> <fileset dir="${log.dir}"> <exclude name="**/*.svn" /> </fileset> </copy> <copy todir="${package.doc.dir}"> <fileset dir="${doc.dir}"> <exclude name="**/*.svn" /> </fileset> </copy> <copy todir="${package.src.dir}"> <fileset dir="${src.dir}"> <exclude name="**/*.svn" /> </fileset> </copy> <zip destfile="${package.src.zip.filename}" > <fileset dir="${package.src.dir}"></fileset> </zip> <delete dir="${package.src.dir}" /> <zip destfile="${package.filename}"> <fileset dir="${package.dir}"></fileset> </zip> </target> </project>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端