Feelings

编辑文章

Java spring boot部署到生产环境有两种常见方式

1.打jar包,使用了内置的tomcat服务器,流程简单
2.打war包,可以放标准tomcat服务器中

jar包

1.pom.xml新增

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

2.项目目录下运行
mvn clean package
3.生成jar包后,使用java命令直接运行
java -jar demoa-0.0.1-SNAPSHOT.jar

war包

1.在项目的pom.xml中配置war打包 <packaging>war</packaging>
2.在项目的pom.xml中配置外置tomcat

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifatactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
</dependency>
  1. 继承SpringBootServletInitializer,实现configure方法
    ServletInitializer这个类可以是新增的,也可以是现有的
public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        //此处的Application.class为带有@SpringBootApplication注解的启动类
        return builder.sources(UserApplication.class);
    }
}

4.在项目目录下执行maven打包命令
mvn clean package
(clean是清除之前的包)
5.将项目target下新生成的.war文件放入tomcat的webapps目录下,然后启动tomcat,Windows下直接点解bin/startup.bat,Linux使用startup.sh
tomcat会自动识别war包,对war包解压成文件夹

注意文件夹是访问URL的一部分 开发调试访问http://localhost:8080/
现在是访问http://localhost:8080/spring_boot_learn-1.0-SNAPSHOT/ 这里的文件夹路径可以更改 ————————————————
还用一种方法不用tomcat,cmd进入 jar/war 文件所在目录,直接执行以下命名
java -jar demo.war –help
我们可以看到有一个 –httpPort 选项可以指定端口号。 我们修改指令,自定义端口号,比如我们想指定端口号为9999。
java -jar jenkins.war –httpPort=9999