2 回答

TA貢獻1831條經驗 獲得超10個贊
最好從這里獲取一個可用的 spring boot 應用程序,以避免版本沖突等。對于war-file 部署(例如到本地 tomcat),您的應用程序必須擴展 SpringBootServletInitializer:
@SpringBootApplication
public class SpringBootTomcatApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringBootTomcatApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringBootTomcatApplication.class);
}
}
改變你pom的 packagingto war。
<packaging>war</packaging>
要生成war-file,您只需要spring-boot-maven-plugin:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
是的,你不需要maven-war-plugin。僅出于測試目的,讓我們注釋我們的應用程序@RestController并引入一個簡單的端點:
@RestController
@SpringBootApplication
public class SpringBootTomcatApplication extends SpringBootServletInitializer {
...
@RequestMapping(value = "/")
public String hello() {
return "Hello World from Tomcat";
}
}
在Local terminal(在 eclipse Ctrl+Alt+T 中)只需輸入而不是從文件夾mvn package復制生成的文件,將其粘貼到本地 Tomcat 的文件夾下,請求http://localhost:8080/ {your-application-name} 然后你應該看到消息?,F在您可以添加所需的依賴項并繼續編碼。 wartargetwebappsHello World from Tomcat

TA貢獻1848條經驗 獲得超2個贊
在 pom.xml 中添加帶有版本詳細信息的包裝類型,例如
<packaging>jar</packaging>
要么
<packaging>war</packaging>
然后,附加構建標簽來定義 jar / war 的名稱,例如,
<build>
<finalName>YOUR-APP_NAME</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
然后,以目標運行您的應用程序
清潔包裝
在目標文件夾中創建 jar/war。
將您的 war 文件重命名為 ROOT,如 ROOT.war
最后一步將您創建的 jar/war 復制到 tomcat webapps 文件夾中并啟動 tomcat。
添加回答
舉報