gpt4 book ai didi

java - 从 Java 访问 gradle 资源

转载 作者:搜寻专家 更新时间:2023-10-30 21:24:01 25 4
gpt4 key购买 nike

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

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

我正在尝试使用 ClassLoader 访问 resources 文件夹中的一些文件,如下所示

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

但它没有找到该文件。

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

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

知道我做错了什么吗?

最佳答案

好吧,看来我的困难来自另一个问题(资源没有被复制到正确的地方)。一旦我解决了这个问题,ClassLoader 就可以使用以下两种形式之一找到我的资源:

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

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

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

Thread.currentThread().getContextClassLoader().getResource("myresource.xml")

关于java - 从 Java 访问 gradle 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24940815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com