自動生成的springboot項目中的啟動類
預設是可以打成jar包,既以下形式
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
打包在 pom.xml的目前檔案夾 cmd 執行
mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
直接在target檔案下生成 了jar 包
如果需要打成war 包需要比原先多導入個依賴
//使用外部tomcat啟動
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
啟動類也要改變成如下
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
// 該方法在要打成war 包時記得注釋掉,運作測試可以開啟
// public static void main(String[] args) {
// SpringApplication.run(DemoApplication.class, args);
// }
}
需要繼承SpringBootServletInitializer 類
并且打成war時不需要main 方法了 測試時可以添加
最後要打包時把
<packaging>jar</packaging>
改成
<packaging>war</packaging>
如下
<groupId>com.example</groupId>
<artifactId>doremi</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>doremi_api</name>
<description>鋼琴教學</description>
打包指令跟上面的一樣,成功後再target下生成了war包
注意測試時啟動類(既上面)DemoApplication 類是 war 包的形式時使用的
端口是在
application.properties類配置檔案中server.port 的端口
但在打包成war 包部署 到外部tomcat裡 這時使用的端口是外部tomcat 的端口
部署的方法很簡單直接把war包 放在 tomcat 的webapps檔案下 重新開機tomcat ,就可以了應用名是war包的名字