springboot可执行jar结构

springboot可执行jar结构,spring,jar,structure,executable,spring-boot,Spring,Jar,Structure,Executable,Spring Boot,我正在尝试运行SpringBoot示例应用程序。我在webapp文件夹下的“images”文件夹中添加了两个图像(与WEB-INF的级别相同) 我创建了可执行jar,这些图像在网页上正确显示 但是,我摸不着头脑,这个图像文件夹在可执行jar中的什么地方?这些图像在lib-jar中吗 提前谢谢 更新:在另一台机器上尝试同一个jar后,问题变了。现在,我可以确认这些图像不是可执行“fat”jar的一部分,因为这些图像不会出现在网页上。更进一步说,“webapp”下的所有文件都没有打包在jar中。我将

我正在尝试运行SpringBoot示例应用程序。我在webapp文件夹下的“images”文件夹中添加了两个图像(与WEB-INF的级别相同)

我创建了可执行jar,这些图像在网页上正确显示

但是,我摸不着头脑,这个图像文件夹在可执行jar中的什么地方?这些图像在lib-jar中吗

提前谢谢

更新:在另一台机器上尝试同一个jar后,问题变了。现在,我可以确认这些图像不是可执行“fat”jar的一部分,因为这些图像不会出现在网页上。更进一步说,“webapp”下的所有文件都没有打包在jar中。我将SpringBootMaven插件放在pom中,并使用“mvn包”创建jar。在我的src项目中,webapp位于src/main下(与java和resource的级别相同)。

这将在以下内容中介绍:

如果应用程序将打包为jar,请不要使用
src/main/webapp
文件夹。尽管这个文件夹是一个通用的标准,但它只适用于war打包,并且如果您生成一个jar,大多数构建工具都会默默地忽略它

您应该将静态资源放在
src/main/resources

按照给定的结构创建fat jar


只要用任何存档工具提取jar,你就会看到它在哪里。我试过了,但失败了。我的意思是,我提取了jar根目录下的com、lib、META-INF、org和templates文件夹,并且只看到它们。像往常一样,我想我会学习新的工具跳过参考指南。再一次,我被提醒这是反模式的。jar打包将忽略webapp是有道理的。在本例中,我的胖jar包含META-INF/resources/index.jsp。我的application.properties有,spring.mvc.view.prefix=/resources/-这正确吗?@thangaveloganathan听起来像是在可执行jar中使用JSP。这是不受支持的。我们通常建议不要使用JSP。如果你真的想要或需要使用它们,那么你必须使用战争包装。
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