是否可以从另一个构建文件中引用一个构建文件中定义的类路径?

时间:2012-06-08 06:58:57

标签: ant

在项目A的构建文件中,有一个<path>;

在项目B的构建文件中,我想通过<java>任务在项目A中执行工具类。

<java>任务需要在其“classpathref”属性中使用该路径。

项目A的构建文件中的<path>非常复杂,因此我不想将其复制到项目B的构建文件中。

那么可以从另一个构建文件中引用一个构建文件中定义的类路径吗?

2 个答案:

答案 0 :(得分:0)

Ant允许将项目文件import转换为另一个项目文件。您可以查看“根据导入的文件解析文件”部分,因为在大多数情况下都需要这样做。

答案 1 :(得分:0)

使用importinclude ANT任务是实现此目的的方法....但是,这些都是设计构建的多模块构建。以这种方式结合两个不同的项目通常是一个非常糟糕的主意....

我理解动机,类路径管理是Java构建中最重要且容易出错的部分之一。我的建议是采用Apache ivy并让它管理你的构建的第三方依赖。

实施例

使用依赖声明来创建ANT路径的常春藤cachepath任务。

   <ivy:cachepath pathid="test.path">
        <dependency org="org.slf4j" name="slf4j-simple" rev="1.6.4" conf="default"/>
        <dependency org="junit" name="junit" rev="4.10" conf="default"/>
    </ivy:cachepath>

罐子本身可以从Maven Central存储库

本地存储或检索