似乎有两种方法可以使maven生成的jar可执行。一种方法是在执行时设定目标
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
我发现另一种同样的方法是将配置executable
设置为真正的
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
我找不到解释这两者之间的区别。有人能解释吗?
根据文档。
如果使用
spring-boot-starter-parent
,则执行repackage
目标>在id为CCD_ 4的执行中自动执行。
因此,当您执行mvn clean package
时,它会为您执行mvn clean package spring-boot:repacakge
。为了检查它,转到目标目录,你会看到两个不同的jar,一个带有origin
后缀,由普通maven包生成,另一个是由repackage
生成的可执行文件