IntelliJ IDEA Sringboot 專案部署到外部Tomcat伺服器
阿新 • • 發佈:2018-11-11
<packaging>war</packaging>
新增依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
排除自帶tomcat,不排除也沒有影響,只是多了個jar包
<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>
註釋spring-boot-maven-plugin,使用maven-war-plugin
<!-- <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>bing.AuthorityApplication</mainClass> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin>
修改啟動類
//@SpringBootApplication //public class SpringlearnApplication { // // public static void main(String[] args) { // SpringApplication.run(SpringlearnApplication.class, args); // } //} @SpringBootApplication public class SpringlearnApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(SpringlearnApplication.class); } public static void main(String[] args ) { SpringApplication.run(SpringlearnApplication.class, args); } }
打包生成war
從根目錄啟動,其中xxx為war的名稱
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> <Context path="" docBase="xxx" debug="0" reloadable="true"/> ... </Host>