欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

spring boot項(xiàng)目沒有mainClass如何實(shí)現(xiàn)打包運(yùn)行

 更新時(shí)間:2022年01月17日 17:13:27   作者:球球之家/carver  
這篇文章主要介紹了spring boot項(xiàng)目沒有mainClass如何實(shí)現(xiàn)打包運(yùn)行,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

springboot項(xiàng)目沒有mainClass實(shí)現(xiàn)打包運(yùn)行

項(xiàng)目分為兩個(gè)部分,一個(gè)是業(yè)務(wù)代碼模塊,一個(gè)是框架模塊,運(yùn)行class放在框架部分,那業(yè)務(wù)代碼如何配置才能正常運(yùn)行?

框架starter運(yùn)行類如下

@SpringBootApplication(
? ? scanBasePackages = {"com"}
)
public class Starter {

@SpringBootApplication只會掃描@SpringBootApplication注解標(biāo)記類包下及其子包的類(特定注解標(biāo)記,比如說@Controller,@Service,@Component,@Configuration和@Bean注解等等)納入到spring容器,如果不在@SpringBootApplication注解標(biāo)記類相同包下及其子包的類,需要我們?nèi)ヅ渲靡幌聮甙窂?,即scanBasePackages 。

業(yè)務(wù)代碼模塊如何配置?

借助spring-boot-maven-plugin配置如下

<plugin>
? ? ? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? ? ? <artifactId>spring-boot-maven-plugin</artifactId>
? ? ? ? ? ? ? ? <configuration>
? ? ? ? ? ? ? ? ? ? <mainClass>com.core.Starter</mainClass>
? ? ? ? ? ? ? ? ? ? <layout>ZIP</layout>
? ? ? ? ? ? ? ? ? ? <classifier>exec</classifier>
? ? ? ? ? ? ? ? ? ? <includeSystemScope>true</includeSystemScope>
? ? ? ? ? ? ? ? </configuration>
? ? ? ? ? ? ? ? <executions>
? ? ? ? ? ? ? ? ? ? <execution>
? ? ? ? ? ? ? ? ? ? ? ? <goals>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <goal>repackage</goal>
? ? ? ? ? ? ? ? ? ? ? ? </goals>
? ? ? ? ? ? ? ? ? ? </execution>
? ? ? ? ? ? ? ? </executions>
? ? ? ? ? ? </plugin>

mainClass最終會在jar包里的MANIFEST.MF文件中指定

Start-Class: com.core.Starter

Spring Boot Maven plugin的5個(gè)Goals

  • spring-boot:repackage,默認(rèn)goal。在mvn package之后,再次打包可執(zhí)行的jar/war,同時(shí)保留mvn package生成的jar/war為.origin
  • spring-boot:run,運(yùn)行Spring Boot應(yīng)用
  • spring-boot:start,在mvn integration-test階段,進(jìn)行Spring Boot應(yīng)用生命周期的管理
  • spring-boot:stop,在mvn integration-test階段,進(jìn)行Spring Boot應(yīng)用生命周期的管理
  • spring-boot:build-info,生成Actuator使用的構(gòu)建信息文件build-info.properties

layout屬性的值可以如下:

  • JAR,即通常的可執(zhí)行jar
  • Main-Class: org.springframework.boot.loader.JarLauncher
  • WAR,即通常的可執(zhí)行war,需要的servlet容器依賴位于WEB-INF/lib-provided
  • Main-Class: org.springframework.boot.loader.warLauncher
  • ZIP,即DIR,類似于JAR
  • Main-Class: org.springframework.boot.loader.PropertiesLauncher
  • MODULE,將所有的依賴庫打包(scope為provided的除外),但是不打包Spring Boot的任何Launcher
  • NONE,將所有的依賴庫打包,但是不打包Spring Boot的任何Launcher

classifier

生成可執(zhí)行jar包的后綴名

includeSystemScope

將system范圍依賴包也打進(jìn)來,如

<dependency>
? ? ? ? ? ? <groupId>com.alipay</groupId>
? ? ? ? ? ? <artifactId>alipay-sdk-java</artifactId>
? ? ? ? ? ? <version>1.1</version>
? ? ? ? ? ? <scope>system</scope>
? ? ? ? ? ? <systemPath>
? ? ? ? ? ? ? ? ${project.basedir}/local_repo/com/alipay/alipay-sdk-java/1.1/alipay-sdk-java-1.1.jar
? ? ? ? ? ? </systemPath>
? ? ? ? </dependency>

使用maven打包指定mainClass

<build>
? ? ? ? <plugins>
? ? ? ? ? ? <plugin>
? ? ? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? ? ? <artifactId>spring-boot-maven-plugin</artifactId>
? ? ? ? ? ? ? ? <configuration>
? ? ? ? ? ? ? ? ? ? <mainClass>com.xxx.XxxApplication</mainClass>
? ? ? ? ? ? ? ? </configuration>
? ? ? ? ? ? ? ? <executions>
? ? ? ? ? ? ? ? ? ? <execution>
? ? ? ? ? ? ? ? ? ? ? ? <goals>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <goal>repackage</goal>
? ? ? ? ? ? ? ? ? ? ? ? </goals>
? ? ? ? ? ? ? ? ? ? </execution>
? ? ? ? ? ? ? ? </executions>
? ? ? ? ? ? </plugin>
? ? ? ? </plugins>
? ? </build>

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論