在ANT的情况下,如何将Classpath传递给子build.xml

时间:2012-04-05 05:18:53

标签: ant build

我在Eclipse中创建了一个部署在JBoss上的EAR项目。在那里,我创建了4个项目,一个EAR,一个Hibernate项目(数据层),一个EJB项目(商务层)和Dyanamic Web项目(Web项目)。 MBS(EAR) -MBSData -MBSEjb -MBSWeb

我正在为这个项目创建ANT build.xml。我已经从每个项目创建了单独的build.xml。我将为MBS(EAR)项目创建build.xml,在这个build.xml中,我将调用子build.xml,如

<target name="build" description="build all projects in reference to this project">
    <ant antfile="build.xml" dir="${MBSData.location}" inheritAll="true" target="build"/>
</target>

因为在每个build.xml中都重复了jboss_runtime_classpath,所以我想把它放在一个地方。所以我想知道如何将这个类路径传播到子build.xml?

1 个答案:

答案 0 :(得分:2)

在build.xml中定义类路径并在其中import定义一个选项。这在蚂蚁1.8中可用。 (可能在早期版本中提供。请参阅@Oers的评论)

我不建议定义单个类路径并在每个地方使用它。每个项目都应具有良好定义的编译时依赖性和运行时依赖性(比如测试或使用ant运行app)。拥有一个可以在任何地方重用的大类路径将导致来自一个区域(例如GUI)的代码使用来自另一个区域的代码(比如持久性)