Classpath根指向grails-app/views——如何修改?
Classpath root pointing to grails-app/views - how to amend?
我的目标是添加一些 Json 文件作为可从代码访问的项目资源。该解决方案必须在 IntelliJ 中运行并部署在 Tomcat 中。我不介意文件位于 grails-app/conf
或 src
.
下
使用
之一获取我的class路径根
grailsApplication.parentContext.getResource("classpath:")
或
grailsApplication.parentContext.getResource("classpath:.")
在 $MY_APP/grails-app/views
中解决
但是,尝试使用
从该根目录导航到 grails-app/src
grailsApplication.parentContext.getResource("classpath:..")
结果:“java.io.FileNotFoundException:class 路径资源 [..] 无法解析为 URL,因为它不存在”。这可能是可以接受的,因为根就是根,我想。
- 如何将我的 class 路径扩展到
grails-app/views
之外的文件夹?
- 如何确保该解决方案在 IntelliJ 和 Tomcat 部署中都有效?
我正在使用 Gradle 3.5、Grails 3.3.11、Groovy 2.4.10。我在 IntelliJ 工作。到目前为止,使用 Gradle 视图重建项目没有帮助。项目设置包括
- grails-app/conf/application.yml
- grails-app/conf/application.groovy
- grails-app/conf/ApplicationResources.groovy(我尝试在此处添加资源条目并重建项目)
- ...(如果有进一步的配置细节问题,请随时查看 the project。)
我一直在探索类似“如何将我的文件添加到 class 路径”问题的无数问题和答案,但到目前为止没有任何帮助。
正如前面评论中提到的,您应该将 JSON 文件放在 /src/main/resources
文件夹下。而且,您应该能够访问这些文件:
getClass().getResource("/example.json")
@PuneetBehl 的回答帮助我意识到这与项目代码配置无关。是关于我的IDE的配置,也就是IntelliJ。您可以设置项目结构... --> 项目设置 --> 模块。在那里,右侧的“资源文件夹”列为:“conf”、“i18n”和“views”。我不知道为什么 IntelliJ 为路径选择“视图” "/."
.
总之,够了:
- 使用 Puneet 建议的语法:
getClass().getResource("/myfolder/example.json")
- 在我创建 grails-app/conf/myfolder/example.json
之后
我的目标是添加一些 Json 文件作为可从代码访问的项目资源。该解决方案必须在 IntelliJ 中运行并部署在 Tomcat 中。我不介意文件位于 grails-app/conf
或 src
.
使用
之一获取我的class路径根grailsApplication.parentContext.getResource("classpath:")
或grailsApplication.parentContext.getResource("classpath:.")
在 $MY_APP/grails-app/views
但是,尝试使用
从该根目录导航到grails-app/src
grailsApplication.parentContext.getResource("classpath:..")
结果:“java.io.FileNotFoundException:class 路径资源 [..] 无法解析为 URL,因为它不存在”。这可能是可以接受的,因为根就是根,我想。
- 如何将我的 class 路径扩展到
grails-app/views
之外的文件夹? - 如何确保该解决方案在 IntelliJ 和 Tomcat 部署中都有效?
我正在使用 Gradle 3.5、Grails 3.3.11、Groovy 2.4.10。我在 IntelliJ 工作。到目前为止,使用 Gradle 视图重建项目没有帮助。项目设置包括
- grails-app/conf/application.yml
- grails-app/conf/application.groovy
- grails-app/conf/ApplicationResources.groovy(我尝试在此处添加资源条目并重建项目)
- ...(如果有进一步的配置细节问题,请随时查看 the project。)
我一直在探索类似“如何将我的文件添加到 class 路径”问题的无数问题和答案,但到目前为止没有任何帮助。
正如前面评论中提到的,您应该将 JSON 文件放在 /src/main/resources
文件夹下。而且,您应该能够访问这些文件:
getClass().getResource("/example.json")
@PuneetBehl 的回答帮助我意识到这与项目代码配置无关。是关于我的IDE的配置,也就是IntelliJ。您可以设置项目结构... --> 项目设置 --> 模块。在那里,右侧的“资源文件夹”列为:“conf”、“i18n”和“views”。我不知道为什么 IntelliJ 为路径选择“视图” "/."
.
总之,够了:
- 使用 Puneet 建议的语法:
getClass().getResource("/myfolder/example.json")
- 在我创建 grails-app/conf/myfolder/example.json 之后