2012-02-22 26 views
0

我正在嘗試創建一個要在EAR中部署的應該僅包含圖像的戰爭。創建一個僅包含圖像的戰爭

我的戰爭源組織如下:

+---src 
| +---main 
| | +---java 
| | +---resources 
| | | \---META-INF 
| | |  \---resources 
| | |   \---images 
| | |     placeholder_image.jpg 
| | |     placeholder_template.png 
| | | 
| | \---webapp 
| |  \---WEB-INF 
| \---test 
|  +---java 
|  \---resources 

和我的戰有效的組織是

+---META-INF 
\---WEB-INF 
    \---classes 
     \---META-INF 
      \---resources 
       \---images 
         placeholder_image.jpg 
         placeholder_template.png 

我想服務都在src/main/resources/META-INF/resources/images文件夾中的圖片。

我使用maven-war-plugin打包了這場戰爭。

如果我的戰爭在http://localhost:8080/myapp/路徑下顯示爲可用,那麼在我的本地計算機上可以使用哪些URL?

回答

2

無。來自WEB-INF的內容不是靜態提供的,resources用於類路徑資源。您需要將圖像(文件夾)直接放在webapp之下或添​​加一個服務於內容的servlet。

2

這取決於你是否在Servlet-3兼容的容器部署war如Tomcat 7或8碼頭

如果是這樣,你的資源應該http://localhost:8080/myapp/images/...下可見。

另請參閱this post,其中唯一的區別是資源打包在jar中。對於jar,此功能比WEB-INF/classes更有意義,因爲如第一個答案所指出的那樣,如果您的資源位於相同的Maven模塊中,則應直接將它們放入src/main/webapp