ant

将一个简单的类(Sample)进行编译、打包、运行(传参数)。
1 源文件 
Java源文件:Sample.java
package powerwind;
 
import javax.swing.*;
 
public class Sample {
    public static void main(String[] args) throws Exception {
        if (args.length > 0)
            JOptionPane.showMessageDialog(null, args[0]);
        else
            JOptionPane.showMessageDialog(null, "HelloWorld");
    }
}
 
 
ant文件:build.xml
注重:encoding="GBK" 设置后才可以有中文注释
 
<?xml version="1.0" encoding="GBK" ?>
<!-- ===================================== -->
<!-- 周健兴 2006/10/18 -->
<!-- ===================================== -->
<project name="sample" default="run" basedir=".">
    <description>用于学习的简单ant工程文件</description>
    <!--属性设置-->
    <property environment="env" />
    <property file="build.properties" />
    <property name="src.dir" value="${basedir}/src" />
    <property name="java.lib.dir" value="${env.JAVA_HOME}/lib" />
    <property name="build.dir" value="${basedir}/build" />
    <property name="classes.dir" value="${build.dir}/classes" />
    <property name="dist.dir" value="${basedir}/dist" />
    <!-- 基本编译路径设置 -->
    <path id="compile.classpath">
        <fileset dir="${java.lib.dir}">
            <include name="tools.jar" />
        </fileset>
    </path>
    <!-- 运行路径设置 -->
    <path id="run.classpath">
        <path refid="compile.classpath" />
        <pathelement location="${classes.dir}" />
    </path>
    <!-- 排除java源文件的模式集 -->
    <patternset id="no.java">
        <exclude name="**/*.java" />
    </patternset>
    <!-- 初始化,建立目录,复制文件 -->
    <target name="init" description="初始化,建立目录,复制文件">
        <mkdir dir="${classes.dir}" />
        <mkdir dir="${dist.dir}" />
        <copy todir="${classes.dir}">
            <fileset dir="${src.dir}">
                <patternset refid="no.java" />
            </fileset>
        </copy>
    </target>
    <!-- 清理,删除临时目录 -->
    <target name="clean" description="清理,删除临时目录">
        <delete dir="${build.dir}" />
        <delete dir="${dist.dir}" />
        <echo level="info">清理完毕</echo>
    </target>
    <!-- 编译源文件-->
    <target name="compile" depends="init" description="编译源文件">
        <javac srcdir="${src.dir}" destdir="${classes.dir}" source="1.5" target="1.5">
            <classpath refid="compile.classpath" />
        </javac>
    </target>
    <!-- 打包类文件 -->
    <target name="jar" depends="compile" description="打包类文件">
        <jar jarfile="${dist.dir}/${jar.file}" manifest="${src.dir}/${manifest.file}">
            <fileset dir="${classes.dir}" includes="**/*.*" />
        </jar>
    </target>
    <!-- 从打包后jar的文件里运行 -->
    <target name="runjar" depends="jar" description="运行jar">
        <java jar="${dist.dir}/${jar.file}" fork="yes" dir="${basedir}" />
    </target>
    <!-- 运行 -->
    <target name="run" depends="compile" description="运行">
        <java classname="powerwind.Sample" fork="yes" dir="${basedir}">
            <classpath refid="run.classpath" />
            <arg line="${param.msg}" />
        </java>
    </target>
</project>
 
属性文件:build.properties
manifest.file = manifest.txt
jar.file = sample.jar
 
列表文件:manifest.txt (最后的回车不能少)
Main-Class: powerwind.Sample
 
 
文件结构:
E:/JAVA/SAMPLE
│  build.properties
│  build.xml
└─src
    │  manifest.txt
    │
    └─powerwind
            Sample.java
可以不事先创建manifest.txt 文件,而在build.xml文件中加入一个任务
    <!-- 创建清单文件 -->
    <target name="create.manifest" description="创建清单文件">
        <manifest file="${src.dir}/${manifest.file}">
            <attribute name="Built-By" value="${user.name}" />
            <attribute name="Main-Class" value="powerwind.Sample" />
        </manifest>
    </target>
<!-- 这里的依靠关系加上create.manifest -->
<target name="jar" depends="compile,create.manifest" …>
同样,假如全部属性在build.xml文件中设置,也不用build.properties这个属性文件了。
但是,假如属性较多,放在其它文件中是比较方便的。属性文件可以用XML文件来替代
props.xml 文件
<properties>
    <manifest>
        <file>manifest.txt</file>
    </manifest>
    <jar>
        <file>sample.jar</file>
    </jar>
</properties>
 
这样,将原来的${manifest.file}改成${properties.manifest.file} ,${jar.file} 改成${properties.jar.file}即可。
当然,加载属性文件的<property file="build.properties" />也要改成<xmlproperty file="props.xml" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值