springboot运维篇--springboot项目打包

1.springboot项目jar方式部署

直接使用idea
在这里插入图片描述
直接使用命令
跳过测试用例快速打包

mvn clean -D skipTests package

将这个应用打成jar包,直接使用java-jar的命令执行

  • 需要注意的是,需要 jar 命令行启动需要依赖 Maven 插件的支持,必须确认在打包的时候 SpringBoot 项目有对应的 Maven 插件:
<!--这个插件,可以将应用打包成一个可执行的jar包-->
 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclude>
                </excludes>
            </configuration>
            </plugin>
        </plugins>
    </build>

2.jar运行方式临时属性的设置

程序包打好了,可以发布了。但是程序包打好以后,里面的配置都已经是固定的了,比如
配置了服务器的端口是8080。如果8080端口目前正在被占用,我们如何启动springbootl项目
呢?
SpringBoot提供了灵活的配置方式,如果你发现你的项目中有个别属性需要重新配置,
可以使用临时属性的方式快速修改某些配置。方法也特别简单,在启动的时候添加上对应参
数就可以了。

java -jar xxx.jar --server.port=8081 --server.servlet.contextPath=/ssm

总结

  1. 使用jar命令启动SpringBoot工程时可以使用临时属性替换配置文件中的属性
  2. 临时属性添加方式:java -jar 工程名.jar --属性名=值
  3. 多个临时属性之间使用空格分隔
  4. 临时属性必须是当前boot工程支持的属性,否则设置无效

3.springboot项目打包成war包

传统的部署方式:将项目打成war包放入tomcat的webapps目录下面,启动tomcat,
即可访问。

SpringBoot项目改造打包成war的流程

  1. pom.xml配置修改
    <packaging>jar</packaging>
    修改为
    <packaging>war</packaging>
  1. pom文件添加如下依赖
   		 <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
  1. 排除springboot内置的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>
  1. 如果是war包发布,需要增加SpringBootServletInitializer-子类,并重写其configure方法,或者将main函数所在的类继承SpringBootServletInitializer,并重写configure方法
    当时打包为war时上传到tomcat服务器中访问项目始终报404错就是忽咯了这个步骤!!!
    改造之前
@SpringBootApplication
public class MyAthApplication  implements WebMvcConfigurer {

    public static void main(String[] args) {
        SpringApplication.run(MyAthApplication.class, args);
    }
    }

改造之后

@SpringBootApplication

public class MyAthApplication  extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(MyAthApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        //注意这里指向原先main方法执行的application启动类
      return builder.sources(MyAthApplication.class);
    }
    }

这种改造方式也是官方比较推荐的方法
5. pom文件中不要忘了maven编译插件

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

  1. 在IDEA中使用mvn clean命令清除旧的包,并使用mvn package生成新的war包
    注意事项
将项目打成war包,部署到外部的tomcat中,这个时候,不能直接访问spring boot项目
中配置文件配置的端口。application.yml中配置的server.port配置的是spring boot内置的
tomcat的端口号,打成war包部署在独立的tomcat上之后,配置的server.port是不起作用
的。一定要注意这一点!!

4.jar包和war包方式对比

  1. SpringBoot项目打包时能打成jar与war包,对比两种打包方式:
    jar更加简单方便,使用java-jar xxx.jar就可以启动。所以打成jar包的最多。
    而war包可以部署到tomcat的webapps中,随Tomcat的启动而启动。具体使用哪种方式,
    应视应用场景而定。
  2. 打jar包时不会把src/main/webapp下的内容打到jar包里(你认为的打到jar包里面,路径是不行的会报404)
    打war包,时会把src/main/webapp下的内容打到war包里
  3. 打成什么文件包进行部署与项目业务有关,就像提供rest服务的项目需要打包成jar文
    件,用命令运行很方便。。。而有大量css、js、html,且需要经常改动的项目,打成war包
    去运行比较方便,因为改动静态资源可以直接覆盖,很快看到改动后的效果,这是jar包不能比的。

项目打成jar包运行,一段时间后,前端要对其中某几个页面样式进行改动,使其更美观,那么改动几个css、html后,需要重新打成一个新的jar包,上传服务器并运行,这种改动频繁时很不友好,文件大时上传服务器很耗时,那么w包就能免去这种烦恼,只要覆盖几个css与html即可)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑马SpringBoot运维主要包括SpringBoot程序的打包与运行。在启动SpringBoot程序时,可以选择是否使用命令行属性为SpringBoot程序传递启动属性。要进行SpringBoot程序的打包与运行,可以参考以下步骤: 1. 首先,确保已经配置好了Java开发环境,并且安装了Maven。 2. 在项目根目录下,执行mvn clean package命令进行项目打包。 3. 打包完成后,在target目录下会生成一个.jar文件,该文件即为可执行的SpringBoot程序。 4. 使用java -jar命令启动SpringBoot程序,例如java -jar xxx.jar,其中xxx.jar是你的程序名称。 5. 此时,SpringBoot程序会自动加载配置文件,并根据配置启动应用程序。 6. 可以通过访问http://localhost:8080来验证程序是否成功启动。 在运维SpringBoot程序时,还需要了解一些关于程序打包的内容。例如,查看MANIFEST.MF文件可以获取关于程序的版本信息、启动类、classpath等信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [2.黑马SpringbBoot运维笔记自己修改](https://blog.csdn.net/m0_63941306/article/details/130352928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值