我试图让jar从jar之外的目标/类中读取,这样我就可以比在jar中更容易地配置数据了。以下是我用来阅读文件的内容,但它是从jar中读取的。在阅读XML之后,我使用DocumentBuilder来解析XML。
ClassLoader classLoader = getClass().getClassLoader();
InputStream configFile = classLoader.getResourceAsStream(file);
答案 0 :(得分:0)
以下是我用来阅读文件的内容,但是它正在阅读 在罐子里。
要读取您执行的jar外部的资源,请不要使用类加载器来查找将在正在运行的jar中查找的资源,但使用允许的File
或更好Path
定位/操纵文件系统中的资源
你可以这样做:
InputStream configFile = Files.newInputStream(Paths.get(file));
无论如何,我不确定您的用例是否有效,因为从target/classes
读取文件并不是真的有意义,因为位于此处的资源并非设计为持久性的,而是打包在构建的工件中(这里是一个JAR)。