您现在的位置是:首页 >学无止境 >SpringCloud项目将某个子模块改成以war的形式打包,需要修改的地方网站首页学无止境

SpringCloud项目将某个子模块改成以war的形式打包,需要修改的地方

爱看老照片 2024-06-17 11:19:17
简介SpringCloud项目将某个子模块改成以war的形式打包,需要修改的地方

SpringCloud项目将某个子模块改成以war的形式打包,需要修改的地方

在GAV后面添加 《packaging》 war 《/packaging》

  • 添加war打包方式
<packaging>war</packaging>

在这里插入图片描述
添加之后项目会报错,工程中出现小红叉;这个不用管它,不影响。
在这里插入图片描述

  • 排除掉springboot内嵌的tomcat

第 1 方式:使用exclusion排除

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<!--忽略内嵌tomcat-->
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-tomcat</artifactId>
				</exclusion>
				<!-- 排除 Spring-boot-starter 默认的日志配置 -->
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

第2种方式:将依赖的范围《scope》设置为provided

	<dependency>
	    <groupId>org.springframework.boot</groupId>
	    <artifactId>spring-boot-starter-tomcat</artifactId>
	    <scope>provided</scope>
	</dependency>
  • 在启动类中添加,如下代码

在这里插入图片描述

public class Application extends SpringBootServletInitializer {

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder springApplicationBuilder) {
		return springApplicationBuilder.sources(Application.class);
	}
}
  • 直接自动使用SpringCloud的打包插件(在父pom里面),无须手动添加,否则,会重复打包,生成xxx.war.original文件
    在这里插入图片描述

  • 打包过程中可能会报如下错误,不用管它,不影响
    在这里插入图片描述

在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。