gpt4 book ai didi

spring-boot - 如何防止lombok打包到Spring Boot jar中?

转载 作者:行者123 更新时间:2023-12-03 13:44:34 25 4
gpt4 key购买 nike

如果您访问官方的Lombok Maven guide,您将看到它的范围应该是provided
当我使用start.spring.io从头开始创建新项目并添加Lombok时,它在生成的pom中仅获得<optional>true</optional>
然后我像这样打包Spring Boot应用程序,出于好奇,决定看看打包在jar中的内容:

mvn clean package -DskipTests=true && unzip target/demo-0.0.1-SNAPSHOT.jar -d exploded



Lombok已打包,无论我将范围设置为 provided还是仅具有 optional=true都没有关系。

如何防止Lombok包含在Spring Boot jar中?

我最后的想法是尝试使用Spring Boot插件附带的另一个目标:

mvn spring-boot:repackage



但不幸的是,它会产生以下错误:

repackage failed: Source file must be provided

最佳答案

如果要打包war文件,则Lombok仅在lib提供的单独文件夹中可用,而不是通常的lib文件夹中可用。
为了将lombok从最终的jar/war文件中完全排除,您必须执行以下操作:

    <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.1.RELEASE</version>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
请参阅排除Spring Boot Maven插件 https://docs.spring.io/spring-boot/docs/2.3.x/maven-plugin/reference/html/#repackage-example-exclude-dependency的依赖项部分以获取更多详细信息。

关于spring-boot - 如何防止lombok打包到Spring Boot jar中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53841408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com