2009-09-08 29 views
2

在我们的网络应用程序项目中,我们包含一些jar文件。为了修补jar文件中某个类的某些问题,我们在修补程序源文件夹中更改了此类的实现。是否有使用ant junit任务的可自定义的类加载顺序?

由于在tomcat(WEB-INF/lib之前的WEB-INF/classes)中存在一个定义的类加载顺序,所以类的修补版本由tomcat加载,而不是jar文件中的原始版本。所以,只要我们部署我们的应用程序,一切都按预期工作。

现在,我们想运行ant对这个补丁类的junit测试。所以我们配置类路径来保存原始jar和修补后的类文件。但似乎没有办法告诉ant的junit任务首先加载修补过的类,而不是从jar文件中打开未修补的版本。

有没有办法解决这个问题?有没有一种方法可以确定蚂蚁的junit任务加载的类的顺序?有没有其他的方法来测试我们从蚂蚁修补过的类?

回答

1

我认为一个ant类路径就像标准的Java类路径一样工作。类路径按照路径被声明的顺序进行搜索,并且从找到路径的第一个路径加载类。您junit任务

你的classpath元素应该是这样的:

<classpath> 
    <pathelement location="${patched.class.folder}"/> 
    <pathelement location="${original.class.jar}"/> 
</classpath> 
+0

谢谢。这帮助了我。 – maccaroo 2016-02-11 02:47:08

相关问题