疑问 ?? ?

运行java web有两种方式:当使用springboot打包出jar包时,这个jar包可以直接 运行java -jar *.jar运行,另一种是把 *.jar移动到tomcat/webapps 中,二者的区别是什么?

理解 ! ! !

①对于springboot打包出来的jar包中已经包含了嵌入式tomcat服务器的依赖项,在pom.xml问价中,导入的maven依赖spring-boot-starter-web中包含内嵌的tomcat容器

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

使用java -jar默认情况下,不会启动任何嵌入式Application Server,该命令只是启动一个执行jar mian的JVM进程,当spring-boot-starter-web包含嵌入式tomcat服务器依赖项时,执行java -jar则会启动Application Server
②对于移动到tomcat/webapps 中部署jar包,则是使用到外部的tomcat,这里需要注意一点,使用外部tomcat部署时,要不直接导包成war包,要不排除spring-boot-starter-web中的tomcat配置

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-tomcat</artifactId>
				</exclusion>
			</exclusions>
		</dependency>