1

我得到了一个 2000 年的旧脚本。它全部用 Java 编写,并且有一个编译文件可以编译它:

 <?xml version="1.0"?>
    <project name="chat" default="compile" basedir=".">
        <target name="init">
            <property name="conf.dir" value="conf" />
            <property name="src.dir" value="src" />
            <property name="resource.dir" value="resource" />
            <property name="build.dir" value="build" />     
            <property name="release.dir" value="release" />
            <property name="etc.dir" value="etc" />
            <property name="lib.dir" value="lib" />
        </target>



        <target name="clean" depends="init">
            <delete dir="${build.dir}" />       
            <delete dir="${release.dir}" />
        </target>

        <target name="compile" depends="init">
            <mkdir dir="${build.dir}" />
            <javac srcdir="${src.dir}" destdir="${build.dir}" includeAntRuntime="false" debug="true" optimize="false" />        
        </target>

        <target name="release" depends="compile">       
            <mkdir dir="${release.dir}" />

            <jar destfile="${release.dir}/chat_service.jar" basedir="${build.dir}"  includeantruntime="false" />        
        </target>

    </project>

当我在 Windows 中使用 ant 运行它时,命令提示符会显示:

Buildfile: build.xml

init: 

compile: BUILD SUCCESSFUL

但它不会创建 jar 文件。它所做的只是复制确切的项目并将其编译为类文件。

有谁知道我如何创建正确的文件?这是一个聊天服务器,我需要它来运行我的客户端。

4

2 回答 2

4

构建文件的默认目标是compile

<project name="chat" default="compile" basedir=".">

因此,如果您在没有指定目标的情况下调用 ant,compile则将执行目标。要执行release目标,请使用

ant release
于 2013-02-08T22:40:30.280 回答
-1

您应该添加另一个目标部分来生成 jar 文件。例如 :

<target name="jar" depends="compile">
    <mkdir dir="${jar.dir}" />
    <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
        <manifest>
            <attribute name="Main-Class" value="${main-class}" />
            <attribute name="Class-Path" value="config/ properties/ ${manifest.classpath}" />
        </manifest>
    </jar>

</target>

最后,您当然应该为自己的文件和属性配置该块。

于 2013-08-21T09:02:47.560 回答