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
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