Spring 引导类路径
Spring Boot classpath
在 Spring Boot's docs here 中,关于提供静态内容,它说:
By default Spring Boot will serve static content from a directory
called /static (or /public or /resources or /META-INF/resources) in
the classpath.
我发现目录下的所有内容:
src/main/resources
将被复制到 类路径 中,因此我可以将我的静态内容放入:
src/main/resources/static
一切都会正常工作,我很高兴,因为我可以在 src
目录下放置我的静态内容。
但是,我对此有一些疑问:
- 为什么文档没有说将静态内容放在
src/main/resources/static
中,而是说类路径(我认为这有点令人困惑)?
- 是否假设
src/main/resources/
中的内容将始终复制到类路径中?
- 是否有一些 Spring 引导官方文档解释除了 Java 类 和包之外我应该在类路径中找到什么(到目前为止我只知道我可以找到
src/main/resources/
)? 中的所有内容
类路径还包含其他库 (JAR),这些库也可以有一个 static
文件夹,然后将包含该文件夹以提供静态资源。因此,如果文档只说明文件夹 src/main/resources/static
,那将是不完整的。
广告 2:只要您不破坏默认的 Maven 配置,就可以安全地假设。
广告 3:也许从 Oracle 官方文档开始:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html。提示:当然不仅仅是resources文件夹的内容,在classpath里面,当然也都是编译出来的类,因此得名
/src/main/resources
是一个 Maven 项目结构约定。这是您放置资源的项目内部路径。在构建步骤中,Maven 将在那里获取文件并将它们放置在适当的位置,以便您在运行时类路径中使用它们,例如在可执行文件 .jar
中,类路径中使用的一些物理文件系统位置(使用 java
的 -cp
选项)等
我可以选择自己构建我的应用程序或使用不同的构建工具。在这种情况下,/src/main/resources
将不存在。但是,目的是让类路径相同,即。包含相同的资源和 .class
个文件。
Spring 引导文档讨论了类路径,因为它不应该假设您的项目是如何设置的。
在 Spring Boot's docs here 中,关于提供静态内容,它说:
By default Spring Boot will serve static content from a directory called /static (or /public or /resources or /META-INF/resources) in the classpath.
我发现目录下的所有内容:
src/main/resources
将被复制到 类路径 中,因此我可以将我的静态内容放入:
src/main/resources/static
一切都会正常工作,我很高兴,因为我可以在 src
目录下放置我的静态内容。
但是,我对此有一些疑问:
- 为什么文档没有说将静态内容放在
src/main/resources/static
中,而是说类路径(我认为这有点令人困惑)? - 是否假设
src/main/resources/
中的内容将始终复制到类路径中? - 是否有一些 Spring 引导官方文档解释除了 Java 类 和包之外我应该在类路径中找到什么(到目前为止我只知道我可以找到
src/main/resources/
)? 中的所有内容
类路径还包含其他库 (JAR),这些库也可以有一个 static
文件夹,然后将包含该文件夹以提供静态资源。因此,如果文档只说明文件夹 src/main/resources/static
,那将是不完整的。
广告 2:只要您不破坏默认的 Maven 配置,就可以安全地假设。
广告 3:也许从 Oracle 官方文档开始:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html。提示:当然不仅仅是resources文件夹的内容,在classpath里面,当然也都是编译出来的类,因此得名
/src/main/resources
是一个 Maven 项目结构约定。这是您放置资源的项目内部路径。在构建步骤中,Maven 将在那里获取文件并将它们放置在适当的位置,以便您在运行时类路径中使用它们,例如在可执行文件 .jar
中,类路径中使用的一些物理文件系统位置(使用 java
的 -cp
选项)等
我可以选择自己构建我的应用程序或使用不同的构建工具。在这种情况下,/src/main/resources
将不存在。但是,目的是让类路径相同,即。包含相同的资源和 .class
个文件。
Spring 引导文档讨论了类路径,因为它不应该假设您的项目是如何设置的。