在项目 A 的构建文件中,有一个<path>
;
在项目B的构建文件中,我想通过<java>
任务在项目A中执行一个工具类。
该<java>
任务需要在其“classpathref”属性中使用该路径。
项目A的<path>
构建文件非常复杂,所以我不想将它复制到项目B的构建文件中。
那么是否可以从另一个构建文件中引用一个构建文件中定义的类路径?
在项目 A 的构建文件中,有一个<path>
;
在项目B的构建文件中,我想通过<java>
任务在项目A中执行一个工具类。
该<java>
任务需要在其“classpathref”属性中使用该路径。
项目A的<path>
构建文件非常复杂,所以我不想将它复制到项目B的构建文件中。
那么是否可以从另一个构建文件中引用一个构建文件中定义的类路径?
使用导入或包含ANT 任务是执行此操作的方法......但是,这些都是设计构建的多模块构建。以这种方式耦合两个不同的项目通常是一个非常糟糕的主意......
我理解动机,类路径管理是 Java 构建中最重要且最容易出错的部分之一。我的建议是采用Apache ivy并让它管理您构建的第 3 方依赖项。
ivy cachepath任务使用依赖声明创建您的 ANT 路径。
<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>
jars 本身可以在本地存储或从Maven 中央存储库中检索
Ant 允许将一个项目文件导入另一个。您可以检查“根据导入的文件解析文件”部分,因为在大多数情况下都需要这样做。