Maven War:部署描述符的文件名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven War:部署描述符的文件名相关的知识,希望对你有一定的参考价值。

所以我已经将maven-war-plugin添加到我的pom.xml中并添加了:

<configuration>
    <webXml>WEB-INF/glassfish-web.xml</webXml>
</configuration>

现在当我打包我的应用程序时,这个描述符被重命名为web.xml,这在尝试将我的应用程序部署到我的glassfish服务器时导致失败,因为服务器认为web.xml是错误格式化的。那么如何告诉maven保持文件名不受影响?

答案

<webXml>配置对maven-war-plugin不是强制性的。因此,如果您没有明确提及webXml,它将不会重命名该文件。如果从pom.xml中删除此webXml条目,您将获得预期的行为

编辑1

我认为没有选项可以跳过webXml文件重命名。你可以在copy-resources尝试maven-resources plugin任务。您可以配置从Project dir到War archive的资源文件/目录映射。

    <plugins>
        <-- other plugin configurations.... -->
        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
              <version>3.1.0</version>
                <executions>
                  <execution>
                    <id>copy-resources</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>
                        ${basedir}/target/app/WEB-INF
                        </outputDirectory>
                        <resources>
                          <resource>
                            <directory>WEB-INF</directory>
                            <includes>glassfish-web.xml</includes>
                        </resource>
                        <resource>
                            <directory>{another directory from where all files are copied}
                            </directory>
                        </resource>
                        <resource>
                           <directory>
                           {another directory from where, all but test.properties are copied}
                           </directory>
                           <excludes>test.properties</excludes>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>
  <plugins/>

以上是关于Maven War:部署描述符的文件名的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Eclipse 将 Maven 项目的 WAR 部署到 JBoss 服务器?

知识小罐头03(javaee初学者用maven+部署war包到tomcat 上)

maven intall在target文件夹中自动生成的war包部署服务器时缺斤少两

将版本化的 WAR 文件部署到 tomcat

maven中jar和war的区别

部署基于Maven的war文件到Tomcat