SpringBoot项目至Linux服务器下的tomcat下运行(CentOS6)

打包前一定保证所有的jar包都引入了maven里,要不然会报类找不到等错误导致打包失败.这里有个坑,如果你是从ssm项目迁移过来的,一定要删除WEB-INF下的lib下面的包,要不然部署到服务器会出很多意想不到的错误,因为你本地是正常运行的,所以错误很难查到,这里用的是jsp所以打的是war包,而且用的是服务器上的tomcat,所以要排除自带的Tomcat

1:修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法

public class HdApplication extends SpringBootServletInitializer implements CommandLineRunner{
      public static void main(String[] args) {
SpringApplication.run(HdApplication.class, args);
}
  @Override  
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {  
        return builder.sources(this.getClass());  
    }  
}

2  修改pom文件中jar 为 war, <build>节点中增加<finalName>hdys</finalName>,可生成自定义war包的名字
<groupId>com.hdys.www</groupId>
<artifactId>HD</artifactId>
<version>0.0.1-SNAPSHOT</version>

<packaging>war</packaging>

<build>
<finalName>hdys</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                        <extdirs>${project.basedir}/lib</extdirs>
                    </compilerArguments>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>${project.basedir}/lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>BOOT-INF/classes/</targetPath>
            </resource>
        </resources>
</build>

3:修改pom,排除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>  

:4:打包部署到容器 

使用命令 mvn clean package 打包后,同一般J2EE项目一样部署到web容器。

或cmd 进入项目根目录:mvn package打包

成功后会在项目根目录生成target文件夹,进去后找到生成的war



5:然后用上传工具上传到服务器

猜你喜欢

转载自blog.csdn.net/carrybest/article/details/80604814