我正在尝试运行Spring Boot示例应用程序。我在webapp文件夹下的“images”文件夹中添加了几个图像(与WEB-INF相同)。
我创建了可执行jar,这些图像在网页上正确显示。
但是,我正在摸不着头脑,这个图像文件夹在可执行jar中?这些图像是否在lib jar之一?
提前致谢。
更新:在另一台机器上尝试相同的jar后,问题会改变altogather。现在,我可以确认图像不是可执行“胖”jar的一部分,因为这些图像不会出现在网页上。更进一步,“webapp”下的所有文件都没有打包在jar中。我把spring-boot-maven-plugin插件放在pom中并使用“mvn package”来创建jar。在我的src项目中,webapp在src / main下(与java和资源相同)。
答案 0 :(得分:11)
documentation about static resources:
中介绍了这一点如果您的应用程序将打包为jar,请不要使用
src/main/webapp
文件夹。虽然这个文件夹是一个通用标准,但它只适用于war包装,如果你生成一个jar,它将被大多数构建工具默默忽略。
您应该将静态资源放在src/main/resources
中。
答案 1 :(得分:2)
按照给定的结构创建胖罐:
Demo
└── src
| ├── main
| │ ├── java
| │ │ └── org
| │ │ └── demo
| │ │ └── App.java
| │ └── resources
| │ └── application.properties
| | |
| | └── META-INF
| | | └── resources
| | | └── jsp
| | └── static
| | └── css
| | └── js
| |
| └── test
| └── java
| └── org
| └── demo
| └── App.java
├──── pom.xml