Kir*_*ill 0 spring-boot spring-boot-maven-plugin
如果您访问Lombok Maven官方指南,您会发现它的范围应该是provided。当我使用start.spring.io从头开始创建一个新项目并添加Lombok时,它只会出现<optional>true</optional>在生成的pom中。然后我像这样打包Spring boot应用程序,出于好奇,决定看看打包在jar中的内容:
mvn clean package -DskipTests = true &&解压缩target / demo-0.0.1-SNAPSHOT.jar -d分解
Lombok已打包,无论我将作用域设置为provided还是仅具有optional=true。
如何防止Lombok包含在Spring Boot jar中?
我最后的想法是尝试使用Spring Boot插件附带的另一个目标:
mvn spring-boot:重新打包
但不幸的是,它产生以下错误:
重新打包失败:必须提供源文件
如果要打包war文件,则Lombok仅在lib提供的单独文件夹中可用,而不是通常的lib文件夹中可用。
为了将lombok从最终的jar / war文件中完全排除,您必须执行以下操作:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.1.RELEASE</version>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅排除Spring Boot Maven插件的依赖项部分https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/exclude-dependency.html。
| 归档时间: |
|
| 查看次数: |
404 次 |
| 最近记录: |