Как экспортировать файлы .properties при развертывании WAR Spring Boot на сервере Wildfly? - PullRequest
0 голосов
/ 04 июля 2019

Я занимаюсь разработкой веб-приложения с использованием Spring Boot и хочу генерировать войну вместо jar. Он отлично работает, используя преобразование из jar в war, описанное здесь: http://spring.io/guides/gs/convert-jar-to-war/

Но я хочу вывести свойства application.properties из войны, потому что хочу изменить его, не открывая архив войны.

Я уже определил плагин spring-boot-maven.

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
            <configuration>
                <classifier>spring-boot</classifier>
                <mainClass>
                  com.application.Application
                </mainClass>
            </configuration>
        </execution>
    </executions>
</plugin>

Я думаю, мне нужно добавить Dependency: config в мой файл манифеста. Итак, я сделал это так:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
            <archive>
                <manifestEntries>
                    <Dependencies>config</Dependencies>
                </manifestEntries>
            </archive>
        </configuration>
    </plugin>

Но когда я запускаю Application.war на Wildfly 8.4, я получаю это

{"JBAS014671: Failed services" => {"jboss.module.service.\"deployment.Application.war\".main" => "org.jboss.msc.service.StartException in service jboss.module.service.\"deployment.screening.war\".main: JBAS018759: Failed to load module: deployment.Application.war:main
    Caused by: org.jboss.modules.ModuleNotFoundException: config:main"}}

Мне бы хотелось, чтобы мое приложение запускалось с моим настраиваемым файлом MANIFEST.MF (с Dependency: config), чтобы я мог выводить свой файл application.properties наружу.

Спасибо.

1 Ответ

0 голосов
/ 05 июля 2019

Проблема была на стороне сервера!

Когда вы указываете пакет, вам нужно добавить файл module.xml с сервером Wildfly.

Итак, в modules/config/main/ я добавил мои application.properties и module.xml файл, содержащий:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="config">
    <resources>
        <resource-root path="."/>
    </resources>
</module>

Спасибо за ваш ответ @ NielsNet.

...