2013-09-23 67 views
1

javac 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存在於類路徑中。

[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[...] 

還有什麼(除了類路徑問題)可能是錯誤的原因?

回答

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

使它指向您的確切jar文件所在的目錄罐子都存在:

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

--- - 在我的情況下存在的jar文件----

<property name="main.jar" value="jar"/> 
相關問題