使用ant在web应用程序中使用工具lib jar

时间:2013-04-03 07:12:32

标签: java ant cobertura

我有一个网络应用程序。我想在XX.war / WEB-INF / lib中设置com.mycompany * jar。 我必须用ant cobertura任务来做这件事。

是否可以使用ant任务在war文件中的选定jar中检测类?

1 个答案:

答案 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>

如果所有其他方法都失败了,我会按照你的意思去做:提取这些罐子,检测它们(用第一种形式)并重新包装它们。