我在Tomcat 8.5上運行一個Gradle spring專案時,一直得到404。
我從
創建了一個簡單的專案。
我是gradle和spring的新手,如果我做錯了什么蠢事,請原諒。
uj5u.com熱心網友回復:
請將你的代碼改為:
@SpringBootApplication
public class PracticeApplication extends SpringBootServletInitializer {
public static void main(String[] args){
SpringApplication.run(PracticeApplication.class, args)。
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return builder.sources(PracticeApplication.class, HealthCheckController.class)。
}
}
似乎你需要列出應用程式中的所有配置類和組件。
盡管如此,我猜想在你的情況下,覆寫configure()方法是沒有必要的,所以我也會嘗試:
@SpringBootApplication
public class PracticeApplication extends SpringBootServletInitializer {
public static void main(String[] args){
SpringApplication.run(PracticeApplication.class, args)。
}
}
uj5u.com熱心網友回復:
原來Apache Tomcat不接受jar檔案,要在外部Tomcat服務器(非嵌入式的)上運行spring boot應用程式,需要創建WAR檔案。
我在build.gradle中添加了war,并給了它一個別名
plugins {
id 'org.springframework.boot' version '2.5.4'
id 'io.spring.dependency-management'版本'1.0.11.RELEASE'
id 'java'
id 'war'
}
war {
archiveName = 'practice.war'
}
添加上述內容后,我重繪 了Gradle專案并重新啟動了服務器,然后我打到了下面的端點。
http://localhost:8080/practice/healthCheck
這與我們在嵌入式服務器上點擊上述端點的方式不同,后者是。
http://localhost:8080/healthCheck
另一種運行方式是進入build/libs/并將war復制到ROOT目錄,然后從apache/bin/運行startup.bat
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/313459.html
標籤:
