我有一个网络应用程序。我想在XX.war / WEB-INF / lib中设置com.mycompany * jar。 我必须用ant cobertura任务来做这件事。
是否可以使用ant任务在war文件中的选定jar中检测类?
答案 0 :(得分:1)
如果你的jar包含所有在同一个包中的类,你可以使用带有“< includeClasses regex = ...”的表单(注意:在你尝试正则表达式之前尝试常规的glob模式,根据我的经验)。
你可以传递一个war文件,它将从WEB-INF / lib(或WEB-INF / classes中的类)中的任何jar中的模式中检测类。
<cob:cobertura-instrument datafile="${todir}/${instrument.ser.filename}" >
<includeClasses regex="com.mycompany.*" />
<instrumentationClasspath>
<pathelement path="${war.file}"/>
</instrumentationClasspath>
</cob:cobertura-instrument>
或者,如果你真的需要在WEB-INF / lib /文件夹中查明特定的jar,你可以尝试使用ant zip / jar文件集的表单(我还没试过):
<cob:cobertura-instrument datafile="${todir}/${instrument.ser.filename}" >
<zipfileset src="${war.file}" includes="WEB-INF/lib/com.mycompany*.jar"/>
</cob:cobertura-instrument>
如果所有其他方法都失败了,我会按照你的意思去做:提取这些罐子,检测它们(用第一种形式)并重新包装它们。