spring-boot-maven-плагин не создает fat jar



Я использую spring-boot-maven-plugin для упаковки моей службы REST. Я создаю банку, используя mvn clean install или mvn clean package. После того, как я декомпилирую банку, я не нахожу ни одной из добавленных зависимостей (я ожидал, что это будет жирная банка со всеми зависимостями)



Введите описание изображения здесь



 <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.9.RELEASE</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>repackage</goal>
<goal>build-info</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>true</executable>
<finalName>myapp</finalName>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>


Когда я запускаю spring boot с помощью java -jar myapp.jar -Drun.jvmArguments="-Dspring.profiles.active=qal", я получаю ClassNotFoundException для многих классов. Ясно, что артефакт был построен не так, как ожидалось. Однако, если я запускаю приложение spring boot с помощью maven ./mvnw spring-boot:run -Drun.jvmArguments="-Dspring.profiles.active=qal", я думаю, это находит все зависимости в целевой папке, следовательно, работает нормально. Как я могу исправить проблему сборки, чтобы я мог запустить приложение с помощью команды java-jar.



Правка: это многомодульный проект maven

691   1  

1 ответ:

Похоже, вы используете неправильную команду. mvn clean package - это команда maven, вы должны использовать команду 'repackage', она используется для

Переупаковывает существующие архивы JAR и WAR, чтобы их можно было выполнить из командной строки с помощью java-jar

Как уже упоминалось здесь https://docs.spring.io/spring-boot/docs/current/maven-plugin/repackage-mojo.html

Или, возможно, это проблема конфигурации плагина. Только что проверил: он работает с spring-boot-maven-plugin-2.0.0.RELEASE

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

Comments

    Ничего не найдено.