1. 程式人生 > >SpringBoot專案至Linux伺服器下的tomcat下執行(CentOS6)

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:然後用上傳工具上傳到伺服器