2012-09-05 65 views
1

我试图使用Ant编译JUnit的java文件,但我正在逐渐,蚂蚁junit的参考

package org.junit does not exist 
[javac] import static org.junit.Assert.*; 
... 

而且,这是我的build.xml的一部分,

<javac debug="true" includeantruntime="false" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}"> 
     <src path="test"/> 
     <classpath refid="MyProgram.classpath"/> 
    </javac> 

    <path id="MyProgram.classpath"> 
    ... 
    <pathelement location="lib/junit.jar"/> 
    ... 

是这有什么问题吗?

谢谢。

+2

你肯定'junit.jar'是真的位于'lib'目录? – AlexR

+0

是的,jar文件在lib文件夹下。 – Tony

+1

你的junit.jar可能是junit3吗? 'org.junit.Assert'包是junit4,我看到junit3把它作为'junit.framework.Assert'包。 –

回答

0

我注意到在上面的摘录中,<path>元素看起来与<javac>元素在同一个目标中。 <path>元素是否可能放错位置? (它需要在同一目标或外部目标元素的javac的前面。)

+0

我复制错了,路径是在原始build.xml中的javac之上。谢谢。 – Tony

+1

@Tony:看到我上面的其他评论 - 也许junit.jar是错误的版本。打开它,并确保它包含jar文件中的org.junit.Assert.class。 –

0

相反位置的pathelement使用路径是这样的:

<path id="MyProgram.classpath"> 
    ... 
    <pathelement path="lib/junit.jar"/> 
</path> 
+0

实际上,我测试了他的build.xml,并且'location'属性工作正常。所以我认为这与此无关。 –