我需要使用Maven创建两个包含两个不同web.xml文件的WAR文件。 否则WAR文件是相同的。

WAR文件按预期创建,但是,第二个文件与第一个文件具有相同的web.xml文件。

如何强制Maven WAR插件将第二个文件用于第二个WAR? 我不能使用配置文件,因为我需要在一次传递中创建两个文件。

我目前的代码:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>2.2</version>
  <configuration>
    <warSourceDirectory>${basedir}/WEB</warSourceDirectory>
    <warName>main</warName>
    <webXml>${basedir}/CONF/web.xml</webXml>
  </configuration>
  <executions>
    <execution>
      <id>hist-war</id>
      <phase>package</phase>
      <goals>
        <goal>war</goal>
      </goals>
      <configuration>
        <warName>hist</warName>
        <warSourceDirectory>${basedir}/WEB</warSourceDirectory>
        <webXml>${basedir}/CONF/hist.web.xml</webXml>
      </configuration>
    </execution>
  </executions>
</plugin>

#1楼 票数:4 已采纳

使用Maven WAR插件叠加功能。

您需要两个WAR项目。 第一个是您的原始文件,其web.xml文件位于正确的位置。 这在配置方面没有任何特定需求。 确保按照您的预期构建它。

第二个只包含其POM和WEB-INF目录中的备用web.xml 此项目的POM必须包含对第一个项目的依赖关系,其类型指定为war,范围指定为runtime。 您不需要显式配置Maven WAR插件。

#2楼 票数:0

似乎有各种各样的使用war插件的陷阱。 在这种情况下,我只会使用2个独立的子模块来构建适当的战争。

  ask by KirEvse translate from so

未解决问题?本站智能推荐:

3回复

如果我将mack-war-plugin配置为在缺少web.xml时失败,为什么缺少web.xml失败?

这是一个挑战:为什么这个构建失败了? 我已经配置了Maven的maven-war-plugin,在一个绝对的web.xml文件中不会失败,看来: 但是,尽管有这种配置,它仍然像这样失败: 我实际上没有web.xml,所以我需要它来组装没有它的战争。 我尝试在配置中添加
3回复

使用maven构建.war文件。 缺少文件和目录

我尝试使用maven插件构建.war文件: 我的项目结构如下: 构建之后,我的war文件只包含WEB-INF和META-INF。 缺少webapp目录的所有其他内容(公共,资源和视图)。 此外,.war文件中的WEB-INF目录只包含/ classes和/ lib目录(/ W
1回复

Maven-war-plugin覆盖删除/META-INF/context.xml

有3个Maven项目: my-overlay(仅包含context.xml的覆盖图的蓝图之战) my-base(在实际战争中使用的pom) my-webapp(在生产中用作my-base的子项目的最终项目) 我将my-overlay作为打包为war的Maven项
1回复

Eclipse和maven-war-plugin爆炸

我正在用Eclipse运行。 我会尽力解释。 我正在开发一个“滥用”maven叠加层的项目,并且有许多模块在webapp中包含Javascript和LESS文件。 我们设法配置maven来爆炸maven-frontend-plugin将处理的目录(使用nodejs)生成最终编译的J
1回复

maven-war-plugin:从lib文件夹中排除许多依赖项

我正在使用maven-war-plugin生成WAR文件。 在依赖关系层次结构中,我可以看到许多可传递的依赖关系,它们从lib文件夹中提取。 经过大量研究,我发现将它们从war lib文件夹中排除的最简单方法是在我的依赖项中将它们声明为“提供”。 但是,我有很多依赖项要排除,因
1回复

在Maven产生的战争中排除文件夹

我有一个Java Web项目,其中使用了大量的scss文件。 所有这些文件都在/ WebContent / scss内部,并编译为WebContent / css。 我正在使用maven-war插件创建战争,我想从生成的战争中排除该文件夹(以及许多其他文件夹)。 我已经尝试过使用Pac
1回复

在maven-war-plugin中添加其他依赖项

在我们的Web项目中,有几个maven-war-plugin的执行,可以为每个环境生成war文件。 我需要向其中之一添加新的依赖关系。 到目前为止,我们一直使用覆盖进行此操作,但是这种方法无法在依赖环境下运行,因此,我们经常最终会在同一库中以不同版本添加两次。 是否可以通过自定义依赖项为每
1回复

maven war插件不会忘记旧文件和依赖项,并创建一个包含已删除文件和依赖项的war

你好,我有一个关于战争创造的奇怪问题。 我使用maven-war-plugin(试过3.1.0,3.2.0和2.6)。 当我运行war:war(或者mvn clean package ,或者similars)时,战争就会被创建,但我注意到它总是包装它在项目历史中遇到的所有文件和依赖项。