ANT生成的jar:这是名称空间问题吗



我有一个带有ANT构建文件的Eclipse Java项目。这个构建文件在不编译的情况下导出了项目的jar。所以我只导出源代码。

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

我在另一个eclipsejava项目中使用这个生成的jar,并在项目的构建路径设置中设置jar的路径。问题是eclipse说它无法解析jar的导入类的名称空间。如果我手动导出jar,方法是右键单击项目,然后"导出",并将jar放在另一个项目的构建路径中,一切都很好,没有错误。所以现在的问题是,我做错了什么?

这是我的解决方案。似乎您必须先编译源代码,然后将其打包到一个jar中。我不能保证这个罐子和你在右键点击和导出等操作时从eclipse中得到的罐子完全一样。但它对我有效,不再有名称空间错误。这是我的蚂蚁目标的一个最低版本:

<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>

相关内容

  • 没有找到相关文章

最新更新