Ant 无法识别类路径

发布于 2024-11-18 00:17:59 字数 963 浏览 2 评论 0原文

我不明白为什么这个 Ant 任务失败:

<javac srcdir="src" destdir="bin" verbose="true" classpath="lib/*;${MyCommons.proj.path}/MyCommons.jar" />

我的 jar 都在 lib 中,再加上一个外部 jar。当我将鼠标悬停在类路径部分上时,Eclipse 显示此配置可以识别所有 jar 文件。

编译时,我收到 100 个无法找到此包或符号的错误(它没有找到 jars)。

[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's,embedded,文件集,文件列表等大约一个小时。

有人看到错误吗?


在此调用之前,我调用了

<ant target="compile" dir="/some/other/project"/>

Removing this 允许 javac 命令成功编译。

I can't see why this Ant task fails:

<javac srcdir="src" destdir="bin" verbose="true" classpath="lib/*;${MyCommons.proj.path}/MyCommons.jar" />

My jars are all in lib, plus one external jar. When I mouse-over the classpath section eclipse shows all the jar files are recognized by this configuration.

On compile, I get 100 errors of can't find this package or symbol (it's not finding the jars).

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

I've tried every format of classpath I can find, classpathref's, embedded , filesets, filelists, , etc. for about an hour.

Does anyone see an error?


Prior to this call I have a call to

<ant target="compile" dir="/some/other/project"/>

Removing this allowed the javac command to compile successfully.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

许一世地老天荒 2024-11-25 00:17:59

你应该尝试这个(我自己没有运行过,但我认为它有效):

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

如果有错误,请将它们放在评论中。我会纠正它。

you should try this (did not run myself but I think it works):

<path id="some.classpath">
    <fileset dir="lib">
        <include name="*.jar"/>
    </fileset>
    <pathelement location="${MyCommons.proj.path}/MyCommons.jar"/>
</path>

and then

<javac srcdir="src" destdir="bin" verbose="true">
    <classpath refid="some.classpath"/>
</javac>

If there are errors, put them in comments. I will correct it.

苍白女子 2024-11-25 00:17:59

我遇到了完全相同的问题。这帮助了我:

<ant target="compile" dir="/some/other/project" inheritAll="false"/>

I had the exact same problem. This helped me:

<ant target="compile" dir="/some/other/project" inheritAll="false"/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文