从Java访问gradle资源

2024-02-07

我有一个具有这种结构的基于 gradle 的 java 项目

.
├── myproject
│      ├── src
│      |    └── main
│      |         ├── java
│      |         └── resources
│      |               └── myresource.xml
|      ├── build
|      |     ├── classes
|      |     |    └── main
│      |     |         └── myresource.xml
|      |     ├── resources

我正在尝试访问中的一些文件资源使用类加载器的文件夹,像这样

ClassLoader.getSystemClassLoader().getResoure("/myresource.xml");

但它没有找到该文件。

我发现访问这些文件的唯一方法是探索项目的已知结构

Path resourcesPath= FileSystems.getDefault().getPath(System.getProperty("user.dir"), "/src/main/resources/");

知道我做错了什么吗?


好吧,看来我的困难来自另一个问题(资源没有被复制到正确的位置)。一旦我解决了这个问题,类加载器就能够使用以下两种形式之一找到我的资源:

ClassLoader.getSystemClassLoader().getResource("./myresource.xml");

ClassLoader.getSystemClassLoader().getResource("myresource.xml");

Edit:当使用其他应用程序中嵌入的jar时,前一种解决方案不起作用,在这种情况下使用:

Thread.currentThread().getContextClassLoader().getResource("myresource.xml")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从Java访问gradle资源 的相关文章

  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O

随机推荐

  • C# 中的空参数检查

    在 C 中 是否有任何好的理由 除了更好的错误消息之外 向每个 null 不是有效值的函数添加参数 null 检查 显然 使用 s 的代码无论如何都会抛出异常 这样的检查会使代码变慢并且更难维护 void f SomeType s if s
  • BufferedReader.readLine() 不读取并挂起系统(等待)[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions BufferedReader rea
  • \n\r 是什么意思?

    当通过 java 从伪终端读取时 我在文本中看到 n r 那个代表是什么 注意它不是我熟悉的 r n n是换行符 ASCII 代码 10 r是回车符 ASCII 代码 13 不同的操作系统使用这些字符的不同组合来表示文本行的结尾 类Unix
  • Silverlight 4 程序集共享问题

    我有一个引用 Silverlight 4 类库的 WPF NET 4 0 类库 SL 库编译得很好 但是当我编译 WPF 类库时 我得到 Error 2 Unknown build error Cannot resolve dependen
  • 如何快速动态加载经常重新生成的c代码?

    我希望能够动态生成 C 代码并将其快速重新加载到我正在运行的 C 程序中 我在Linux上 这怎么办 Linux 上的库 so 文件可以在运行时重新编译和重新加载吗 是否可以在不生成 so 文件的情况下对其进行编译 编译后的输出是否可以以某
  • 循环访问多个正则表达式提取器输出

    您能告诉我如何循环遍历返回多个值的正则表达式后处理器的结果吗 Example JSON 响应消息 reply code 111 status SUCCESS customerID 222 a b 333 44 4 s 555 666 777
  • AssertionError IDEA 输出中的字符编码

    我正在使用 IntelliJ IDEA 12 0 4 进行一些测试 当我使用 JUnit4 框架运行一个时 我的断言错误如下所示 java lang AssertionError Status should be expected true
  • Apple 拒绝,因为 UIBackgroundModes = location

    我提交了一个应用程序 它按照用户选择的固定时间间隔 5 分钟 10 分钟 30 分钟 1 小时 跟踪用户的位置 并将其发送到服务器 该应用程序也应该在后台运行 发送请求 我已将其声明为UIBackgroundMode location 我能
  • 如何将复杂的 SQL 查询转换为 Zend_Db_Select 语句?

    MySQL 网站有一个优秀的教程 http mikehillyer com articles managing hierarchical data in mysql 在数据库中存储分层数据 我正在尝试编写返回节点的直接子节点的查询 我不想只
  • 如何在android上创建永久后台服务

    我正在经历一场噩梦 试图在 android 上创建一个永久运行的简单后台服务 该服务将执行一些后台任务 例如池用户社交媒体和显示通知 因此它只需要一次用户交互 登录 之后应该能够永远运行直到最后一天 但这并没有发生 这是我的清单
  • viewflow.io:实现队列任务

    我想用以下用例来实现ViewFlow库 http viewflow io Problem 由用户启动的特定 Flow 的进程必须在执行 celery 作业之前在队列中等待 每个用户都有一个这些进程的队列 根据计划或手动触发 允许队列中的下一
  • 如何以编程方式在视图上同时应用平移和缩放动画

    如何在视图上应用带有缩放动画的平移动画 我必须将视图移动到另一个视图位置并同时缩小 如何将视图从其位置缩放到另一个视图位置 第二个视图不固定 startView 翻译的视图 finishView 动画结束的地方 代码 private voi
  • Python:什么是标题? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我对 Python 和一般编程都很陌生 我在大学修读一个模块 要求我用 Python 编写一些相当基本的程序 然而 我在上次作业中得到了这样
  • 将 musicbrainz URI 映射到 Spotify URI

    有谁知道如何找到给定艺术家 专辑的 musicbrainz URI 的 Spotify URI Spotify 的 web api 不能解决我的问题 因为我想映射所有 musicbrainz 艺术家和专辑 但速度很慢 您应该能够使用 Ech
  • Android Studio 3.1:找不到 org.jetbrains.trove4j:trove4j:20160824

    昨天 我将 Android Studio 更新到 3 1 但收到此错误 Could not find org jetbrains trove4j trove4j 20160824 Searched in the following loca
  • Blobstore 上传 + Ajax/替代方案

    下面的代码可以完美运行 我唯一关心的是我想将下面的内容转换为 AJAX alternative 这样就不需要刷新整个页面来提交此请求 如果可能的话 还包括加载进度条等
  • 在节点中使用 zone.js 挂钩

    我正在尝试使用编写一个简单的演示角度 zone js https github com angular zone js在节点中 但由于某种原因既没有beforeTask or afterTask正在被召唤 这是我正在运行的代码 requir
  • Indy 10 中的 TIdHTTP

    我以前在 Delphi 6 天时就使用过 Indy 现在我正在使用 Indy 10 我想做的事情非常简单 但我没有看到简单的方法 所以我一定错过了一些东西 我想做的是这样的 这是我正在使用的实际代码 procedure TForm1 btn
  • 如何从 URL 流式传输/下载和播放音频?

    我需要在 iOS 上运行的 Unity3D 中流式传输或下载并播放从 URL 获取的音频 音频来自文本转音频服务 我需要在 Unity 上播放它 我一上午都在谷歌上搜索 没有找到有效的解决方案 Unity3D文档中有一个代码片段 WWW音频
  • 从Java访问gradle资源

    我有一个具有这种结构的基于 gradle 的 java 项目 myproject src main java resources myresource xml build classes main myresource xml resour