[英]How do I use a given application.properties file when deploying a .war on Apache Tomcat?
[英]WAR file deployed on Tomcat not reading application.properties File
我已經使用Java中的Spring Boot Framework創建了一個演示REST API。 我想將此API作為WAR文件部署在Tomcat 8上。 該API已經配置為使用Spring Initializr編譯為WAR文件。 但是,在部署API時,它不會從項目中讀取application.properties
文件。
@PropertySource
和@PropertySources
批注。 <build>
標記中包含<resources>
標記。 .properties("classpath:application.properties")
到ServletInitializer
什么都沒做
在本文中,我以context-path為例。 在我的實際應用程序中,我有一些屬性存儲在application.properties中,而應用程序未讀取它們。
這是我的代碼文件:
server.servlet.context-path=/api
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
@RestController
@RequestMapping("/user")
public class User {
@GetMapping("")
public String getUser() {
return "User is here...";
}
}
命中localhost:8080/demo/api/user
URL應該會提供我們想要的輸出,但是會給出404結果。 而點擊localhost:8080/demo/user
則提供所需的輸出。 這意味着該應用程序未讀取application.properties文件,因為該文件中api的默認路由設置為/api
。
僅嵌入式tomcat支持server.servlet.context-path
。 如果要部署到外部tomcat,請遵循此處的准則設置上下文路徑: https : //tomcat.apache.org/tomcat-8.0-doc/config/context.html
現在,驗證application.properties
是否捆綁在WAR
文件中。 為此,請提取或打開WAR
文件。 如果未包括在內,請驗證您的構建文件是否資源插件正在復制資源文件。
如果WAR中包含application.properties
,請嘗試閱讀應用程序中的其他屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.