4

如何使用 maven-war-plugin 通过 maven 定义 web.xml 显示名称?

在 maven-ear-plugin 中有一个配置选项 displayName 来设置 EAR / application.xml display-name 属性。

方法错误?只需在 web.xml 中手动设置?

4

2 回答 2

8

您需要使用 Maven 的Web 资源过滤方法。在 maven-war-plugin 中设置以下配置:

<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
    <webResources>
        <resource>
            <directory>src/main/webapp/WEB-INF/</directory>
            <targetPath>WEB-INF</targetPath>
            <includes><include>web.xml</include></includes>
            <filtering>true</filtering>
        </resource>
    </webResources>
</configuration>
</plugin>

在您的 web.xml 中,您可以使用 pom.xml 中定义的任何属性。所以你可以例如使用:

<display-name>${project.name} - ${project.version}</display-name>

那将呈现为

<display-name>My Awesome Webapp - 1.0.0-SNAPSHOT</display-name>

如果您使用 Eclipse,则需要m2e-wtp(查看主页中的 Web 资源过滤截屏视频)

于 2012-08-27T20:30:19.060 回答
4

更简单...

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

请参阅filterDeploymentDescriptors的文档。这从 2.1 开始可用,但默认情况下被禁用。

于 2014-01-30T14:31:17.583 回答