【发布时间】:2014-06-19 19:19:47
【问题描述】:
我需要在没有清单文件的情况下通过 ant build 创建一个 war 文件。我希望在没有清单文件的情况下对我进行战争。
我在 build.xml 中使用标签来创建战争。
【问题讨论】:
标签: ant
我需要在没有清单文件的情况下通过 ant build 创建一个 war 文件。我希望在没有清单文件的情况下对我进行战争。
我在 build.xml 中使用标签来创建战争。
【问题讨论】:
标签: ant
您可以将<zip/> 任务与.war 扩展名用于destfile 属性来获得与<war/> 任务相同的结果(没有 manifest.mf)。
<zip destfile="..\...\WarFile.war"basedir="..\basedir" update="true"/>
如果 WarFile.war 已经存在,虽然你已经写了 I need to create a war file ,属性 update="true" 将是有用的(通过只更新而不是覆盖文件)。
【讨论】:
所有战争文件都是特定格式的 zip 文件。那就是库放在一个特定的地方,类文件放在其他地方等等。<war> 任务有像<classes/> 和<lib> 这样的子实体,可以在不知道所有东西的确切位置的情况下正确配置war 文件。
但是,您可以自己正确格式化战争,并使用<zip/>。
你为什么不想要一个清单文件?如果您不指定任何内容,则清单将只包含用于构建的 Java 版本和 Ant 版本,并且根本不会影响您的战争的执行。
您可以做的就是将有用的信息放入清单中。例如,我们使用 Jenkins 进行构建,并输入 Jenkins 项目名称和构建号,这有助于我们了解战争中包含的内容。
没有理由不使用清单文件。而且,清单文件可以包含有用的信息(Java 程序也可以访问)。
【讨论】: