我需要在没有清单文件的情况下通过ant构建创建war文件。我想要在没有manifest文件的情况下创建war。
我在build.xml中使用标签来创建war.
您可以使用<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"
属性将被使用(仅更新而不覆盖文件)。
所有war文件都是特定格式的zip文件。也就是说,库放在特定的位置,类文件放在其他地方,等等。<war>
任务有像<classes/>
和<lib>
这样的子实体,可以正确配置war文件,而不需要知道所有东西的确切位置。
但是,您可以自己正确地格式化war,并使用<zip/>
。
你为什么不想要一个清单文件?如果你不指定任何东西,清单将只包含用于构建的Java版本和Ant版本,并且根本不会影响war的执行。
你能做的就是把有用的信息放入清单中。例如,我们在构建中使用Jenkins,并输入Jenkins项目名称和构建号,这有助于我们了解war中包含的内容。
没有理由不使用清单文件。而且,清单文件可以包含有用的信息(Java程序也可以访问这些信息)。