Tomcat服务器上部署JAR或执行java -jar之间的区别?

Tomcat服务器上部署JAR或执行java -jar之间的区别?

  • 疑问 ?? ?
  • 理解 ! ! !

疑问 ?? ?

运行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.bootgroupId>
			<artifactId>spring-boot-starter-webartifactId>
		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.bootgroupId>
			<artifactId>spring-boot-starter-webartifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.bootgroupId>
					<artifactId>spring-boot-starter-tomcatartifactId>
				exclusion>
			exclusions>
		dependency>

你可能感兴趣的:(部署)