我的 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
存在于类路径中。
[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[...]
还有什么(除了类路径问题)可能导致错误?
最佳答案
我通过更改解决了问题
<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>
关于Javac Ant 任务无法找到类,即使它包含在类路径中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18953742/