但其实在项目中scope为provided的依赖,比如 lombok、mybatis-plus等,只作用于编译阶段,编译完成就没用了。 若除去provided依赖,可以使用如下的配置: <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombo...
spring-boot-maven-plugin插件 —— 排除依赖 默认情况下,repackage 和 run 目标会包含任何定义在项目中的 provided 依赖。Spring Boot 项目会认为 provided 依赖是运行应用的容器所需的依赖。 其中一些依赖项可能根本不需要,应该从可执行 jar 中排除。为了保持一致性,它们在运行应用程序时也不应该出现。 有两种方式...
但其实在项目中scope为provided的依赖,比如 lombok、mybatis-plus等,只作用于编译阶段,编译完成就没用了。 若除去provided依赖,可以使用如下的配置: <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombo...
I wound up here for a slightly different reason. I have a standalone primary spring boot executable jar, and a plugin jar (also with a spring-boot parent starter) that depends on the primary as provided scope, and is dynamically loaded at runtime. ...
WAR,即通常的可执行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 ...
MODULE,将所有的依赖库打包(scope为provided的除外),但是不打包Spring Boot的任何Launcher NONE,将所有的依赖库打包,但是不打包Spring Boot的任何Launcher 4.integration-test阶段中的Spring Boot Maven plugin的start/stop <properties><it.skip>false</it.skip></properties><build><plugins><plugin><groupId>org.ap...
WAR,即通常的可执行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 ...
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.2.4.RELEASE:repackage (default-cli) on project demo1: Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:2.2.4.RELEASE:repackage failed: Source file must be provided ...
JAR或WAR等。在实际应用中,spring-boot-maven-plugin常用于排除编译阶段仅需的provided依赖,避免打包后的jar过大。若要生成普通jar包而非可执行jar,可以通过命令行参数-Dspring-boot.repackage.skip=true或在pom.xml中配置来实现,这样打包出的jar就不会包含依赖的jar文件,方便外部项目引用。
如果只是单独执行mvn spring-boot:repackage,会报错:Source file must be provided。需要先package 与 spring-boot:repackage 在同一条命令执行才正确,可能插件内部是在通过本次命令执行中,根据package打出来的普通jar包的基础上进行repackage的,不会去获取仓库中已有的普通jar包。