即使它包含在类路径中,Javac Ant任务也找不到类

时间:2013-09-23 07:23:02

标签: java ant

我的javac Ant任务会产生如下所示的错误:

[javac] C:\dp\dev\trunk\MyProduct\MyUnitTest.java:109: error: cannot find symbol
[javac]     private MyClass createFactoryMock() throws Exception {
[javac]             ^
[javac]   symbol:   class MyClass
[javac]   location: class MyUnitTest

我以详细模式(ant -verbose test-compile)运行任务,并在任务的类路径输出中找到MyClass,从中我得出结论:类路径中存在MyClass。 / p>

[javac] Compiling 9 source files to C:\dp\dev\trunk\MyProduct\temp\test-build

[javac] Using modern compiler
[javac] Compilation arguments:
[javac] '-d'
[javac] 'C:\dp\dev\trunk\MyProduct\temp\test-build'
[javac] '-classpath'
[javac] '[...]C:\dp\dev\trunk\MyProduct\temp\build\MyProduct\MyClass.class[...]

除了类路径问题之外还有什么可能是错误的原因?

2 个答案:

答案 0 :(得分:0)

我通过更改

解决了问题
    <javac srcdir="${test}" destdir="temp/test-build" debug="${debug}" encoding="UTF-8">
        <classpath>
            [...]
            <fileset dir="${build}"/>
        </classpath>
    </javac>

    <javac srcdir="${test}" destdir="temp/test-build" debug="${debug}" encoding="UTF-8">
        <classpath>
            [...]
            <pathelement location="${build}"/>
        </classpath>
    </javac>

答案 1 :(得分:0)

指出存在罐子的确切jar文件目录:

<path id="classpath">
    <fileset dir="${main.jar}" includes="**/*.jar"/>
    <!-- <pathelement location="${src.dir}" />-->
</path>

----在我的案例中,存在于----

中的jar文件
<property name="main.jar" value="jar"/>