spring boot 项目部署到服务器

1.修改pom.xml文件

  <packaging>war</packaging>

  <groupId>com</groupId>
    <artifactId>example</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>example</name>
    <packaging>war</packaging>
    <description>Demo project for Spring Boot</description>
    

增加外部tomcat启动


  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
  </dependency>
  

2.修改启动Application文件

继承SpringBootServletInitializer,实现configure方法

原来


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

}

修改


public class ExampleApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(ExampleApplication.class);
    }


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

3.打包

这里可以直接到项目根目录下面:运行 maven package命令,打包。
我这里直接使用idea打包,如下图:
在这里插入图片描述
在这打包过程中遇到的错误

错误描述

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project spring: There are test failures.

解决
在pom.xml增加以下代码


             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <!--跳过项目运行测试用例-->
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            

完整


       <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!--执行测试用例的插件-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <!--跳过项目运行测试用例-->
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

看网上还有另一种方法解决,这里也记录一下:
在test类上面添加 @Ignore注解

4.将war放入外部tomcat的webapps目录下

在这里插入图片描述

最后:就是启动tomcat,启动完成后,直接访问:(即:ip:端口/项目名称,这里的端口是外部tomcat配置的端口,项目名称是war包得名称)例如:localhost:8080/demo1

一定注意 :我这里访问的端口是8080,也就是外部tomcat设置的端口。而不是项目,
application.yml中配置的server.port。

发布了21 篇原创文章 · 获赞 9 · 访问量 4497

猜你喜欢

转载自blog.csdn.net/qq_36470898/article/details/100297134