如何编译无依赖的spring-boot-maven-plugin?

如何编译无依赖的spring-boot-maven-plugin?,第1张

如何编译无依赖的spring-boot-maven-plugin?

为了使Maven在您的WAR文件中不包括依赖项,您需要指定要 提供的* 范围 。Maven官方文档中的范围描述: *

这很像编译,但是表明您希望JDK或容器在运行时提供依赖项。例如,在为Java Enterprise
Edition构建Web应用程序时,您将对Servlet API和相关Java EE
API的依赖关系设置为提供的范围,因为Web容器提供了这些类。该作用域仅在编译和测试类路径上可用,并且不可传递。

<dependency>    <groupId>com.h2database</groupId>    <artifactId>h2</artifactId>    <version>1.4.192</version>    <scope>provided</scope></dependency>

将下载依赖项以编译源,但不打包在WAR中。

关于 spring-boot-maven-plugin
。默认情况下,它将对WAR进行重新打包,从而使您可以从控制台启动它。因此,它将所有必需的依赖项打包到存档中-即使具有 提供的
范围。您可以在目标目录中看到两个文件:重新打包的 {project-name} .war{project-name}
.war.original-
该文件不应包含提供的依赖项。要禁用重新打包,您应该将 spring-boot-maven-plugin
配置更改为以下内容:

<plugin>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-maven-plugin</artifactId>    <executions>        <execution> <goals>     <goal>repackage</goal> </goals> <configuration>     <skip>true</skip> </configuration>        </execution>    </executions></plugin>

然后,您需要将所需的依赖项放置到 tomcat / lib 文件夹中,然后重新启动Tomcat。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4973007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存