Maven War: имя файла дескриптора развертывания - PullRequest
0 голосов
/ 22 марта 2019

Итак, я добавил плагин maven-war в свой pom.xml и добавил:

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

Теперь, когда я упаковываю свое приложение, этот дескриптор переименовывается в web.xml, что вызывает ошибку при попытке развернуть мое приложение на моем сервере Glassfish, так как сервер думает, что web.xml искажен, я думаю. Так как же я могу сказать maven оставить имя файла без изменений?

1 Ответ

0 голосов
/ 22 марта 2019

<webXml> конфигурация не обязательна для maven-war-plugin. Итак, если вы явно не упомянете webXml, он не будет переименовывать файл. Вы получите ожидаемое поведение, если вы удалите эту запись webXml из вашего pom.xml

Редактировать 1

Я не думаю, что есть возможность пропустить переименование файла webXml. Вы можете попробовать copy-resources задача в maven-resources plugin. Вы можете настроить сопоставление файлов / каталогов ресурсов из Project dir в архив War.

    <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/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...