Java 将文件夹添加到类路径
我有一个源代码结构如下Java 将文件夹添加到类路径,java,Java,我有一个源代码结构如下 /src/main/java /src/main/resources /src/main/resources/stuff /src/main/resources/stuff/1.txt /src/main/resources/stuff/2.txt 在我的代码中,我通过以下方式访问stuff文件夹中的文件: ClassLoader.class.getResource("/stuff/1.txt").getFile() 部署时,它的部署方式如下: / /lib /lib
/src/main/java
/src/main/resources
/src/main/resources/stuff
/src/main/resources/stuff/1.txt
/src/main/resources/stuff/2.txt
在我的代码中,我通过以下方式访问stuff文件夹中的文件:
ClassLoader.class.getResource("/stuff/1.txt").getFile()
部署时,它的部署方式如下:
/
/lib
/lib/my-app.jar
/lib/other.jar
/lib/stuff
目前,我的类路径设置为:lib/*但我无法以上面的方式解析lib/stuff/1.txt。要使上述代码正常工作,我需要在类路径上设置什么?这可能是中指出的使用相对路径和绝对路径之间的区别
正如@Gimby所指出的,使用getResourceAsstream会更有效。太模糊了。这似乎是一个基于目录结构的Maven项目。您的应用程序是如何打包的?它是如何部署的?它是如何执行的?为什么要使用getResource.getFile,而不仅仅是使用100%可移植的getResourceAsStream?
ClassLoader.class.getResource("lib/stuff/1.txt").getFile()