gradle - 指向 grails-app/views 的类路径根 - 如何修改?
问题描述
我的目标是添加一些 Json 文件作为可从代码访问的项目资源。该解决方案必须在 IntelliJ 中运行并部署在 Tomcat 中。我不介意文件是否位于grails-app/conf
或下src
。
使用以下之一获取我的类路径根目录
grailsApplication.parentContext.getResource("classpath:")
或者grailsApplication.parentContext.getResource("classpath:.")
解决在$MY_APP/grails-app/views
但是,尝试从该根目录导航到grails-app/src
使用
grailsApplication.parentContext.getResource("classpath:..")
导致:“java.io.FileNotFoundException:类路径资源 [..] 无法解析为 URL,因为它不存在”。我猜这可能是可以接受的,因为根是根。
- 如何将我的类路径扩展到外部的文件夹
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 (我尝试在此处添加资源条目并重建项目)
- ...(如果有更多配置细节问题,请随时查看项目。)
我一直在探索类似“如何将我的文件添加到类路径”问题的无尽问题和答案,但到目前为止没有任何帮助。
解决方案
如评论前面所述,您应该将 JSON 文件放在/src/main/resources
文件夹下。而且,您应该能够以以下方式访问文件:
getClass().getResource("/example.json")
这是一个示例应用程序
推荐阅读
- javascript - NodeJS Express 共享托管 GET 请求 index.php
- javascript - 引导药丸内容不会消失
- c# - 三行网格,一是可折叠的(DataGrid、GridSplitter、TextBox)。网格没有按照我的意愿调整大小
- facebook - Facebook Graph API 3.0 - 获取公众人物的帖子(应用评论?)
- python - Scrapy 没有正确跟随分页,捕捉到分页中的第一个链接
- acl - Hyperledger Composer ACL:不同参与者的读取权限
- c# - 从私有获取变量
- c++ - c ++如何使用ifstream将未对齐的文件头读入填充的头结构?
- php - Magento 文件路径错误
- google-geocoder - 谷歌地理编码 OVER_QUERY_LIMIT