我有一個關於Spring啓動的問題。我想提供靜態內容,我已在我配置的ResourceHandler
:從Spring啓動靜態內容會導致404白標籤錯誤頁面
@Configuration
public class WebApplicationConfig extends WebMvcConfigurerAdapter {
private static final Logger LOG = LoggerFactory.getLogger(WebApplicationConfig.class);
@Bean
public FileSystem fileSystem() {
FileSystem fileSystem = new LocalFileSystem();
return fileSystem;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
LOG.info("Serving static content from " + fileSystem().getBaseFolder());
registry.addResourceHandler("/static/storage/**").addResourceLocations("file:///" + fileSystem().getBaseFolder());
super.addResourceHandlers(registry);
}
}
我的應用程序運行在一個泊塢窗容器中,我安裝在主機的音量/ MyApplication的/存儲。當我進入我的Docker容器時,我看到這個卷存在並且反映了fileSystem().getBaseFolder()
-調用。這個目錄也是可寫的,但它在我的項目之外。
的LOG語句執行: "Serving static content from /myapplication/storage"
,所以我知道正在執行,以及該代碼。
,可以是相關的更多信息:
- 這是一個Linux環境。
- 寫入權限對於該文件夾是正確的。
- 文件夾存在且可寫且可讀。
- 我有幾個
@RestController
的註釋。其中的所有方法都以@RequestMapping("/api/")
開頭,因此沒有以/ static開頭的映射。 - 已經從文件前面的///中刪除,但沒有任何影響。
有誰知道我該如何使那些文件夾中的文件可讀。它總是返回404.該文件夾必須在項目之外,因此不要建議將它放入/resources/static
。
任何幫助表示讚賞。
嘗試從'file:///'中刪除額外的斜線? – chrylis
哦,我忘了提及,我已經嘗試過,沒有效果。我會更新我的帖子。 –