Junit+ Ant 中关于classpath引入第三方jar遇到的一点问题

1.taskdef中定义的方法,在编译的时候提示找不到这个包
Junit+ Ant 中关于classpath引入第三方jar遇到的一点问题_第1张图片

但是我这里引入了这个g5.test.matrix包:

Junit+ Ant 中关于classpath引入第三方jar遇到的一点问题_第2张图片

解决方法,将build中修改taskdef:

原taskdef: 

  
      
   

修改后的taskdef



	
		
		
			
		
	
2.提示ant中的classpath没有junit.jar
ant编译错误现象: 
BUILD FAILED: The classpath for junit must include junit.jar if not in Ant's own classpath. 
在使用Ant编译项目的时候,出现此问题。 
我在我的机器上编译一切正常,把项目复制到服务器上编译出现此问题,所以,我 认为是由于Ant的环境配置造成的此问题。
解决方法: 
根据提示,把junit.jar包复制到ant_home/lib/目录下,再编译,就可以了。 


引用网址:  


3.执行junit 提示:java.util.zip.ZipException: error in opening zip file
我正试着用ANT来做我的JUnit测试。使用JUnit 4测试套件启动测试。如果我在Eclipse中直接运行这个程序,那么测试就会完成,而不会出错。但是,如果我从ant中运行它,那么许多测试都会失败,这个错误会一次又一次地重复,直到jUnit任务崩溃。
    [junit] java.util.zip.ZipException: error in opening zip file
    [junit]     at java.util.zip.ZipFile.open(Native Method)
    [junit]     at java.util.zip.ZipFile.(ZipFile.java:114)
    [junit]     at java.util.zip.ZipFile.(ZipFile.java:131)
    [junit]     at org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLoader.java:1028)
    [junit]     at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.findNextResource(AntClassLoader.java:147)
    [junit]     at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.nextElement(AntClassLoader.java:130)
    [junit]     at org.apache.tools.ant.util.CollectionUtils$CompoundEnumeration.nextElement(CollectionUtils.java:198)
    [junit]     at sun.misc.CompoundEnumeration.nextElement(CompoundEnumeration.java:43)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.checkForkedPath(JUnitTask.java:1128)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeAsForked(JUnitTask.java:1013)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:834)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeOrQueue(JUnitTask.java:1785)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:785)
    [junit]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    [junit]     at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    [junit]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [junit]     at java.lang.reflect.Method.invoke(Method.java:597)
    [junit]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    [junit]     at org.apache.tools.ant.Task.perform(Task.java:348)
    [junit]     at org.apache.tools.ant.Target.execute(Target.java:357)
    [junit]     at org.apache.tools.ant.Target.performTasks(Target.java:385)
    [junit]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
    [junit]     at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
    [junit]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [junit]     at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
    [junit]     at org.apache.tools.ant.Main.runBuild(Main.java:758)
    [junit]     at org.apache.tools.ant.Main.startAnt(Main.java:217)
    [junit]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    [junit]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

此错误是由于类路径包含对一个或多个类的显式引用而引起的。
因此,在构建类路径时(在ant中),请使用:

           :one for each of the [directories] where class files, log4j property files and other resources etc are to be found
                       :to describe all the explicit JAR [files] that need to be on the class path.

其中

    
    
    


    
引用网址: 

你可能感兴趣的:(持续集成&测试)