用ant运行java类

时间:2016-02-28 14:29:14

标签: java ant

我正在尝试使用ant运行我的java程序。编译和jar部分工作得非常好。但是当你试图运行我创建的Jar时,它会显示我

  

错误:无法找到或加载主类com.twu.biblioteca.Application。

似乎无法弄清楚问题

<target name="clean">
    <delete dir="build"/>
</target>

<target name="compile">
    <mkdir dir="build/classes"/>
    <javac srcdir="." destdir="build/classes"/>
</target>

<target name="jar">
    <mkdir dir="build/jar"/>
    <jar destfile="build/jar/Application.jar" basedir="build/classes/com/twu/biblioteca/">
        <manifest>
            <attribute name="Main-Class" value="com.twu.biblioteca.Application"/>
        </manifest>
    </jar>
</target>

<target name="run">
    <java jar="build/jar/Application.jar" fork="true"/>
</target>

1 个答案:

答案 0 :(得分:0)

问题在于您的jar任务。从documentation开始,basedir对应于:

  

jar文件的目录。

因此,它需要

<jar destfile="build/jar/Application.jar" basedir="build/classes">
   <!-- ... -->
</jar>

使用您的配置,您只能创建biblioteca文件夹的JAR,因此,它不再与包含com.twu.biblioteca的包声明匹配。