我看不出为什么这个Ant任务失败了:
<javac srcdir="src" destdir="bin" verbose="true" classpath="lib/*;${MyCommons.proj.path}/MyCommons.jar" />
我的罐子都在lib中,加上一个外部罐子。当我将鼠标悬停在类路径部分时,eclipse显示所有jar文件都被此配置识别。
在编译时,我得到100个无法找到此包或符号的错误(它没有找到罐子)。
[javac] Compiling 51 source files to C:\MyProjects\MyCommons\bin
[javac] C:\MyProjects\MyCommons\src\com\proxyandvpn\datamodel\Notification.java:3: package org.joda.time does not exist
[javac] import org.joda.time.DateTime;
[javac] ^
[javac] C:\MyProjects\MyCommons\src\com\proxyandvpn\datamodel\Transaction.java:5: package org.joda.time does not exist
[javac] import org.joda.time.DateTime;
我已经尝试了我能找到的每种格式的类路径,classpathref,嵌入式,文件集,文件列表等大约一个小时。
有没有人看到错误?
在此次通话之前,我打电话给
<ant target="compile" dir="/some/other/project"/>
删除它允许javac命令成功编译。
答案 0 :(得分:3)
你应该尝试这个(没有自己跑,但我觉得它有效):
<path id="some.classpath">
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
<pathelement location="${MyCommons.proj.path}/MyCommons.jar"/>
</path>
然后
<javac srcdir="src" destdir="bin" verbose="true">
<classpath refid="some.classpath"/>
</javac>
如果有错误,请将其放入评论中。我会纠正它。
答案 1 :(得分:1)
我遇到了完全相同的问题。这对我有所帮助:
<ant target="compile" dir="/some/other/project" inheritAll="false"/>