我有一个带有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>