在ant脚本中模块化类路径(例如通过refid)



由于我的ant文件非常复杂,我想模块化我的类路径元素。

目前,我以以下方式使用refid

<path id="compile.classpath">
  <pathelement path="foo"/>
  <!-- ... -->
</path>
<path id="test.classpath">
  <path refid="compile.classpath"/>
  <pathelement path="bar"/>
  <!-- ... -->
</path>
<!-- ... -->
    <javac>
        <classpath refid="compile.classpath"/>
    </javac>
    <junit>
        <!-- ... -->
        <classpath>
             <path refid="test.classpath"/>
             <path path="bazz"/>
        </classpath>
    </junit>
<!-- ... -->

这是明智的做法吗?或者有更好的吗?

将路径id(compile.classpath)用于类路径refid(在<javac>中)可以吗?(目前可以使用,但refid确实要求元素的类型相同。由于pathclasspath都是类路径结构,它们的类型相同吗?)

我在以前的工作中成功地使用了这种方法,这确实是我保持一切正常的唯一方法。

我最终更进一步,把我所有的第三方库定义都放在一个单独的ext-libs.xml文件中,因为其中有几个是多jar库,确保我的最终战争文件中包含了所有这些库,这将是一个巨大的麻烦。这样,在我的主build.xml(和其他)中,我可以引用lib.jaxb,而不必担心我已经更新了各处文件名中的版本号。

您已经找到了扩展编译类路径以生成测试类路径的技巧,所以您走在了正确的轨道上。

简而言之,按下。

相关内容

  • 没有找到相关文章

最新更新