2012-10-22 26 views
1

我正在处理涉及包含许多不同源文件的大型jar的问题。其中一个源文件是测试类,我想从不同的项目运行该测试类。 这个测试类有一个主类,应该使用从ant传给它的参数。 虽然问题似乎是班级路径。我一直得到这个错误:创建一个Ant目标来运行jar中的java类

Exception in thread "main" java.lang.NoClassDefFoundError: junit.framework.TestCase 

这是我的目标被剥离出来。

<target name="lookup-excute" description="Runs a Look up on all event files in the input folder."> 
    <java classname="com.testing.LookupTest" failonerror="true" fork="yes"> 
     <arg value="${events.location}"/> 
     <classpath> 
      <pathelement path="..${file.separator}jars${file.separator}testing.jar"/> 
     </classpath> 
    </java> 
</target> 
+1

您需要将junit JAR的路径放入您的类路径中,或者将其与您的代码一起打包(不建议,因为它仅用于测试)。 –

回答

0

一般来说:当你有一个ClassNotFound时,你应该在你的jar文件中找到这个类。您只需打开一个jar文件(使用与zip文件相同的工具)并尝试浏览junit/framework并找到TestCase.class jar文件。

如果您没有在任何罐子中看到该课程,则可以在因特网上(或jarfinder)搜索课程名称。然后你知道你需要一个额外的罐子,就像在这种情况下的junit一样。当你知道你想要“junit”时,你可以从主页下载,或者在大多数情况下从maven:maven search下载。

我不知道你是否可以直接运行junit测试。通常你使用junit task

+0

谢谢!这已经解决了这个问题。 – DoorKnob5001

相关问题