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

疑问 ?? ?

运行java web有两种方式:(1) java -jar *.jar命令 ; (2)tomcat容器
当使用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配置(经验证,这种jar包也可以放到Tomcat webapps下面运行的。不一定非要配置exclusions

    <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>


————————————————

参考链接:Tomcat服务器上部署JAR或执行java -jar之间的区别?_BambooJin的博客-CSDN博客_jar运行和tomcat部署区别

tomcat服务器上部署JAR或执行java -jar之间的区别?_而立通途的博客-CSDN博客_jar tomcat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值