ANT Generated jar:它是命名空间问题吗?

时间:2012-02-13 15:08:54

标签: ant jar export

我有一个带有ANT-build-file的Eclipse-Java-Project。此构建文件导出项目的jar而不编译它。所以我只导出来源。

<target name="jar">
    <mkdir dir="/jar"/>
    <jar destfile="/jar/my_test_jarfile.jar" basedir="/src" />
</target>

我在另一个eclipse java项目中使用这个生成的jar,并在项目的build-path-settings中设置jar的路径。问题是eclipse说它无法解析jar的导入类的命名空间。 如果我通过右键单击项目手动导出jar,然后“导出”并将jar放到另一个项目的构建路径,一切正常,没有错误。所以现在的问题是,我做错了什么?

1 个答案:

答案 0 :(得分:1)

所以这是我的解决方案。看来你必须首先编译源代码然后将其打包到jar中。我不保证这个罐子就像你从右边的东西那里得到的那个罐子做出正确的点击并导出等。 但它对我有用,不再有命名空间错误。所以这是我的蚂蚁目标的最低版本:

<project default="run" basedir=".">
    <property name="src.dir" value="src" />
    <property name="classes.dir" value="bin" />
    <property name="build.dir" value="build" />

    <path id="libs">
        <fileset dir="lib">
            <include name="*.jar"/>
        </fileset>
        <pathelement path="${basedir}\${classes.dir}"/>
    </path>

    <target name="run">
        <antcall target="compile"/>
        <antcall target="jar"/>
    </target>

    <target name="compile">
        <javac debug="true" srcdir="${src.dir}" destdir="${classes.dir}" classpathref="libs" encoding="UTF-8" />
    </target>

    <target name="jar">
        <jar destfile="${build.dir}/my_jar_file.jar" basedir="${classes.dir}"> 
    </target>
</project>