当前位置: 首页 > 知识库问答 >
问题:

Spring Boot类路径

张浩阔
2023-03-14

在这里的Spring Boot文档中,关于服务静态内容,它说:

默认情况下,Spring Boot将从类路径中名为/static(或/public或/resources或/META-INF/resources)的目录提供静态内容。

我发现目录中的所有内容:

src/main/resources

将被复制到类路径中,因此我可以将我的静态内容放入:

src/main/resources/static

一切都会很好,我很高兴,因为我可以将我的静态内容放在src目录下。

但是,我对此有一些疑问:

  1. 为什么文档没有说把静态内容放在src/main/resources/static中,而不是说类路径(我认为这有点混乱)

共有2个答案

咸晨
2023-03-14

类路径还包含其他库(JAR),这些库还可以有一个静态文件夹,该文件夹将包含在其中以提供静态资源。因此,如果文档只说明文件夹src/main/resources/static,那么它将是不完整的。

广告2:只要你不搞乱默认的Maven配置,那么就可以安全地假设这一点。

广告3:可能从Oracle官方文档开始:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html.提示:当然,不仅仅是类路径中的resources文件夹的内容,当然还有所有已编译的类,因此得名。

桑思远
2023-03-14

/src/main/resources是一种Maven项目结构约定。这是项目中放置资源的路径。在构建步骤中,Maven将把文件放在那里,并将它们放在适当的位置,以便您在运行时类路径中使用它们,例如在可执行文件中。jar、类路径中使用的一些物理文件系统位置(使用java的cp选项)等。

我可以选择自己构建应用程序,也可以选择使用其他构建工具。在这种情况下,将不存在/src/main/resources。然而,目的是使类路径相同,即包含相同的资源和<代码>。类文件。

Spring Boot留档讨论类路径,因为它不应该假设项目是如何设置的。

 类似资料:
  • 我有一个springboot应用程序,我试图使用ByteBuddy来测试它。我遇到了类路径问题,我无法理解。 首先,以下是关于这方面的其他文献: https://github.com/raphw/byte-buddy/issues/473 这里需要注意的一点是,如果我使用IntelliJ运行应用程序,它不会使用uber-jar,而是通过main类运行,其中有一堆JAR作为类路径参数。 由于这种差异

  • 他推荐我的操作是:更正应用程序的类路径,使其包含类 org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory 和 org.apache.catalina.Context 的兼容版本 这是控制台的error

  • 我通过将上下文路径设置为/myservice来运行我的springboot应用程序。这将导致附加在URL处公开的所有执行器endpoint-http://localhost:8080/myservice/actuator/,而我只想要http://localhost:8080/actuator/.有没有办法告诉springboot忽略将上下文路径附加到执行器endpoint(通过Dispatche

  • 我正在尝试创建一个SpringBoot Camel应用程序(用于测试)。我已经配置了SpringBoot和camel-spring。它似乎在工作,但在将数据发送到activemq(通过SendBody)时却失败了。 ApplicationContext.xml 它在template.sendBody()处失败的主应用程序 错误信息 有人知道它为什么不起作用吗?对于我读过的文件来说,它应该能起作用。

  • 我在运行Springboot Maven应用程序时遇到问题。这个问题始于一个缺失的依赖关系,这让我无法解决另一个问题,我尝试了来自整个网络的多个建议,但都无济于事。我确实移除了。m2文件夹并重新构建,但同样的错误再次出现。 我控制台中的错误: 我的pom。xml: 欢迎任何意见。

  • 我试图在运行spring boot应用程序时添加一个类路径,该应用程序使用以下命令运行 目前,我可以使用插入到字段中的自定义参数向maven测试添加一个classpath文件夹 然而,这种方法不适用于使用mvn spring boot:run运行应用程序

  • 我在SpringBoot项目中运行测试时遇到了一些问题。 项目结构如下: 项目结构图像 我可以毫无问题地启动resourceService,但是如果我尝试运行SpringBoot项目的标准测试..... 程序响应此错误: 所以我试图将application.properties特定属性从 到 更改后,我注意到resourceserviceApplication无法启动,因为它找不到log4j2.x

  • 我想得到一个域名的url在我的springboot应用程序: 我曾经尝试过这样的事情: