WAR 插件中的过滤是如何完成的?

要启用web.xml的过滤,您必须像这样配置 WAR 插件:

      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
        </configuration>
      </plugin>

可以在此处找到示例。

[最佳]


依赖工件的分类器如何影响我的 WAR 项目?

使用时,项目中的依赖项工件的副本会将分类器附加到其文件名中。这可用于区分重复的工件。

[最佳]


如何从我的项目中排除传递依赖?

给它一个“提供的”范围。

[最佳]


使用dependentWarExclude 和提供范围有什么区别?

dependentWarExclude用于覆盖以从组装的 web 应用程序中排除依赖的 WAR 文件。

[最佳]


如何在我的网络资源中排除文件?

使用<webResources> / <exclude>参数来标识要排除的令牌。

有关详细信息,请参阅添加和过滤外部 Web 资源

[最佳]


进行叠加时如何排除文件?

使用dependentWarExcludes参数来标识要排除的标记。

[最佳]


我在哪里可以找到插件配置的文档?

对于每个目标,您可以使用插件站点中的文档。

如果您需要特定版本,请使用mvn site:site生成它或使用:

mvn help:describe -Dplugin=war -Dfull=true -Dversion=<your-plugin-version-here>

[最佳]


如何在我的 webapp 中创建包含类的 JAR?

如果您只想将类和资源打包为WEB-INF/lib中的 JAR 而不是WEB-INF/classes下的松散文件,请使用以下配置:

      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <archiveClasses>true</archiveClasses>
        </configuration>
      </plugin>

如果您需要在另一个项目中重用此 JAR,推荐的方法是将类移动到构建 JAR 的单独模块,然后从您的 web 应用程序以及任何其他需要的项目中声明对该 JAR 的依赖关系它。

如果您无法将类移动到另一个项目,则可以使用以下配置将 webapp 中包含的类和资源部署为带有分类器的“附加”工件:

<project>
  ...
  <artifactId>mywebapp</artifactId>
  <version>1.0-SNAPSHOT</version>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <attachClasses>true</attachClasses>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

这将导致部署两个工件:mywebapp-1.0-SNAPSHOT.warmywebapp-1.0-SNAPSHOT-classes.jar

[最佳]