Spring Boot 中的classpath

springboot项目创建完成后,会生成该项目名称+iml后缀的文件。该文件位于项目的根目录下。
打开后,在name="NewModuleRootManager"的component声明中,会有几个默认content声明

    <content url="file://$MODULE_DIR$/../userpermissions">
      <sourceFolder url="file://$MODULE_DIR$/../userpermissions/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/../userpermissions/src/main/resources" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/../userpermissions/src/test/java" isTestSource="true" />
      <excludeFolder url="file://$MODULE_DIR$/../userpermissions/target" />
    </content>

其中sourceFolder 中声明的就是classpath,只是类型不同。
对应的工程文件目录:


项目目录.png

其中蓝色的java目录:保存项目的java文件。
resources是项目的资源目录,里面通常包含static与templates目录
绿色的test/java目录是编写的测试类的目录。

  • 工程编译后,会将src/main/java中的.java文件按照包文件结构编译成.class存入target/classes目录。
  • 工程编译后,会将src/main/resources中的static、templates目录里的文件分别拷贝入classes/static 与classes/template 中。结构保持一致。
  • 工程编译后,会将test/java 中的文件编译进classes/test-classes目录中。

可以根据项目需要,修改.iml文件的content,来添加不同的资源路径。

延伸:
使用Apache Maven Resources Plugin来灵活配置resources目录。
详见:
http://maven.apache.org/plugins/maven-resources-plugin/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。