在ant构建期间排除依赖项项目的jar



我在一个java项目中使用ant作为构建工具。

假设我有两个项目X和Y,它们是相互依存的。我正在寻找一些可以在构建过程中排除一些jar的东西,即当我构建项目A时,它应该在构建过程中和创建战争时排除一些jar。

我知道,如果我们想在类路径中包括和排除jar,我们会给出

    <include> and <exclude>

在build.xml文件中。但是,当我们想包括或排除项目之外的罐子时,我们该怎么做呢。

感谢您的帮助。

我参考了下面的一个,但没有任何想法。从动态生成的类路径中排除jar?

终于找到了问题的解决方案。我发布了这个答案,认为它可能对将来的某个人有用。我能够使用<exclude>任务使其工作。下面是代码片段。

<target>
 <delete dir="${dest.dir}" failonerror="false" /> 
      <mkdir dir="${dest.dir}" />
  <war destfile="${package.file}" webxml="${temp.dir.web-inf}/web.xml" basedir="${temp.dir}">
    <fileset dir="${pages.dir}"/>
    <lib dir="${lib.dir}">
        <exclude name="servlet-api.jar"/>
        <include name="de.vogella.build.test.ant.jar"/>
    </lib>
    <classes dir="${temp.dir.classes}" />
  </war>
</target>

它一开始对我不起作用的原因是我没有包含任何<delete>任务,每次构建项目时都会删除war文件。所以旧的战争档案没有被替换,也没有向我显示任何变化。一旦我包含了删除,它就开始删除以前的构建战争文件,并用一个新的文件进行更新,这非常好。

相关内容

  • 没有找到相关文章

最新更新