springboot多模块时 引入子类找不到

springboot 多模块时 引入子类jar 一直报找不到

 

<executions>

<execution>

<goals>

<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->

</goals> <!--可以生成不含依赖包的不可执行Jar包-->

<!-- configuration>

<classifier>exec</classifier>

</configuration> -->

</execution>

</executions>

 

在Spring Boot中,如果你需要将一个Spring Boot多模块项目打包成WAR包(通常用于部署到传统的Web应用服务器上,如Tomcat),你需要进行一些配置上的调整。以下是将多模块项目打包成WAR包的基本步骤: 1. 修改父模块的`pom.xml`文件,将`spring-boot-starter-parent`的打包方式从`jar`改为`war`。同确保移除`spring-boot-maven-plugin`插件,因为它是用于生成可执行的JAR包的。 ```xml <packaging>war</packaging> ``` 2. 对于每一个需要打包成WAR的模块,也需要在各自的`pom.xml`中将打包方式改为`war`。 ```xml <packaging>war</packaging> ``` 3. 如果主应用模块(通常是包含`main`方法的模块)继承自`spring-boot-starter-web`,则需要移除`spring-boot-starter-tomcat`依赖,因为WAR包会包含自己的Servlet容器。同,添加一个依赖来代替Tomcat,比如`tomcat-embed-jasper`。 ```xml <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> ``` 注意`scope`应该是`provided`,因为Web服务器(如Tomcat)会提供它。 4. 对于使用了嵌入式Servlet容器的`@SpringBootApplication`主类,需要修改其继承的类。通常需要将继承自`SpringBootServletInitializer`的子类覆盖`configure`方法。这样做是为了配置Spring Boot应用以部署为WAR包。 ```java @SpringBootApplication public class MyApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(MyApplication.class); } } ``` 5. 构建项目使用Maven的`package`命令,这会生成WAR包而不是JAR包。 ```shell mvn clean package ``` 请确保在部署WAR包之前,你的应用服务器已经正确配置并且能够支持WAR包的部署。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值