idea 打包Springboot為(war) 部署到tomcat 配置域名訪問


1.在pom.xml里設置 <packaging>war</packaging>

 

2.去除內置tomcat

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!-- 去除內嵌tomcat -->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>


        <!--添加servlet的依賴-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

 

3.修改啟動類

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

 

在Application類的同級添加一個SpringBootStartApplication類,其代碼如下:

/**
 * 修改啟動類,繼承 SpringBootServletInitializer 並重寫 configure 方法
 */
public class SpringBootStartApplication extends SpringBootServletInitializer {
 
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意這里要指向原先用main方法執行的Application啟動類
        return builder.sources(Application.class);
    }
}

 

接着可以打包了:

 

 

 

打包好會生成以為xxx.war的文件,在你項目target文件里

 

 

 

以下是部署配置tomcat的操作

第一步把打包好的war包 放到 tomcat目錄下的webapps 下

 

截圖:

 

 

 

第二步:找到tomcat目錄下的server.xml配置文件

server.xml在conf文件夾下面

 

編輯server.xml,將下圖位置的8080端口更改為80

 

 我這里已經改成80了

 

 

 

第三步:

將Host中的name更改成要設置的域名或IP地址,本例中設置了如下域名,此外,我們還需要在Host下配置一個Context用於指定應用的運行環境。其中:

1. docBase(Document Base)為應用相對於webapps的路徑,如果將docBase設置為Web應用名稱(本例為demo),則在Url地址中就可以不用輸入項目名稱了;

2. path為應用的上下文路徑,如果默認為空則表明當前Context為默認Context;

3. reloadable默認為false,表明是否監聽/WEB-INF/classes/以及/WEB-INF/lib目錄的變化,應用在開發階段可以將其設置為true,但是上生產環境時最好設置為false,否則會占用較大的虛擬機資源影響應用性能。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM