Ant任务,以便于部署

时间:2011-02-12 10:08:03

标签: java ant

我们有相当大的源代码树,部分内容被部署为两个独立的jar文件。我们需要轻松控制哪些罐子。

到目前为止,我们通过<exclude name="" /><include name="" />标记执行此操作,但这非常不方便。最好的选择是一个单独的配置文件,其中列出了所有包,我们可以在需要时注释掉,比如说'#'字符。

是否存在类似的东西,或者我们是否必须编写一个新的ant任务来读取这样的文件并运行<jar>任务?

2 个答案:

答案 0 :(得分:3)

最好的选择是将代码分成不同的模块,这些模块可以自己构建(当然还有彼此的依赖关系)。这样做也会使循环依赖变得明显,并使您有机会优化代码库。

答案 1 :(得分:1)

ANT includesexcludes可以使用外部文件进行管理, referenced in a fileset 可以使用includesfileexcludesfile属性进行管理。

  

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>