src/main/resources 配置下的配置文件,怎么使用RedisUtil.class.getResource("/resources") 找到
时间: 2023-12-03 10:02:27 浏览: 79
假设你的项目结构如下:
```
my-project/
|-- src/
| |-- main/
| |-- java/
| |-- resources/
| |-- project.properties
| |-- webapp/
|-- pom.xml
```
你可以使用以下代码找到`project.properties`配置文件的路径:
```java
String path = RedisUtil.class.getResource("/resources/project.properties").getPath();
```
这将返回类路径中"resources/project.properties"文件的绝对路径,例如:
```
/Users/username/my-project/target/classes/resources/project.properties
```
注意,在使用`getResource()`方法时,需要使用`/resources`作为路径的起始点。这是因为在Maven项目中,所有位于`src/main/resources`目录下的文件和文件夹都会被打包到生成的Jar文件中,并且它们在Classpath中的位置就是`/resources`。
相关问题
src/main/resources 配置下的配置文件,使用new FileInputStream(RedisUtil.class.getResource("/resources").toURI().getPath()+"project.properties") 无法读出
可能是因为你的代码中使用了错误的路径,导致无法读取配置文件。你可以尝试使用以下方法来读取配置文件:
1. 直接使用 ClassLoader 来读取配置文件,代码如下:
```
InputStream inputStream = RedisUtil.class.getClassLoader().getResourceAsStream("project.properties");
```
2. 使用 Class.getResourceAsStream() 方法来读取配置文件,代码如下:
```
InputStream inputStream = RedisUtil.class.getResourceAsStream("/project.properties");
```
以上两种方法都可以读取 src/main/resources 目录下的配置文件。如果还是无法读取到配置文件,可能是配置文件的路径或文件名有误,你可以再次检查一下。
如何引入 src/main/resources/ 下的jar包
您可以使用以下代码来引入 src/main/resources/ 下的 jar 包:
```java
URL url = getClass().getResource("/your-jar-file.jar");
URLClassLoader classLoader = new URLClassLoader(new URL[]{url});
Class loadedClass = classLoader.loadClass("com.example.YourClass");
```
其中,"/your-jar-file.jar" 是相对于 classpath 的路径。您可以将其替换为您 jar 文件的实际路径。然后,您可以使用 URLClassLoader 实例加载您的类。在这个例子中,要加载的类是 com.example.YourClass。
阅读全文