Муравей не признает путь к классу - PullRequest
4 голосов
/ 30 июня 2011

Я не понимаю, почему эта задача Ant не выполняется:

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

Все мои банки находятся в lib, плюс один внешний jar.Когда я наведу курсор мыши на секцию classpath, eclipse показывает, что все файлы jar распознаются этой конфигурацией.

При компиляции я получаю 100 ошибок: не удается найти этот пакет или символ (он не находит jar-файлы).

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

Я пробовал каждый час найти любой формат classpath, classpathref, внедренный, наборы файлов, списки файлов и т. Д.

Кто-нибудь видит ошибку?


До этого вызова у меня был вызов

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

Снятие этого параметра позволило успешно скомпилировать команду javac.

Ответы [ 2 ]

3 голосов
/ 30 июня 2011

Вы должны попробовать это (не запускал сам, но я думаю, что это работает):

<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 голос
/ 25 февраля 2015

У меня была точно такая же проблема. Это помогло мне:

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