關於springboot項目的jar和war兩種打包方式部署的區別
關於springboot項目的jar和war兩種打包方式部署的區別?
https://bbs.csdn.net/topics/392493467
1.我的一個springboot項目,用mvn install打包成jar,換一台有jdk的機器就直接可以用java -jar 項目名.jar的方式運行,沒任何問題,為什么這里不需要tomcat也可以運行了?
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
依賴下面這個:
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
這個又依賴下面這幾個:
Apache 2.0 org.apache.tomcat.embed » tomcat-embed-core
Apache 2.0 org.apache.tomcat.embed » tomcat-embed-el
Apache 2.0 org.apache.tomcat.embed » tomcat-embed-websocket
所有 最終 還是有依賴tomcat的,只不過是內置的
要是打war包,是要排除內置的tomcat的
spring boot 打成jar包的時候,你可以看一下pom文件,在pom里面有一些tomcat的jar包引用,就是Spring boot內置的tomcat,
打war包時,需要注釋掉這些tomcat的引用