我们有相当大的源代码树,部分内容被部署为两个独立的jar文件。我们需要轻松控制哪些罐子。
到目前为止,我们通过<exclude name="" />
和<include name="" />
标记执行此操作,但这非常不方便。最好的选择是一个单独的配置文件,其中列出了所有包,我们可以在需要时注释掉,比如说'#'字符。
是否存在类似的东西,或者我们是否必须编写一个新的ant任务来读取这样的文件并运行<jar>
任务?
答案 0 :(得分:3)
最好的选择是将代码分成不同的模块,这些模块可以自己构建(当然还有彼此的依赖关系)。这样做也会使循环依赖变得明显,并使您有机会优化代码库。
答案 1 :(得分:1)
ANT includes
和excludes
可以使用外部文件进行管理, referenced in a fileset 可以使用includesfile
和excludesfile
属性进行管理。
includesfile 文件的名称;每 这个文件的行被认为是一个 包括模式 排除文件 文件名;这个文件的每一行 被视为排除模式。
例如:
<jar destfile="${dist}/lib/app1.jar">
<fileset dir=".">
<includesfile name="app1.properties"/>
</fileset>
</jar>
<jar destfile="${dist}/lib/app2.jar">
<fileset dir=".">
<includesfile name="app2.properties"/>
</fileset>
</jar>