【发布时间】:2020-10-15 17:14:57
【问题描述】:
我在 Eclipse 中有一个 Maven 项目。在 src/main/resources 下,我有一个名为“directoryToCopy”的目录,其中包含文件。 运行项目后,我想将“directoryToCopy”复制到桌面的本地目录“localDirec”下。
我用过这个:
File localDirec = new File("c:/desktop/scripts");
URI urlDir = ClassLoader.getSystemResource("directoryToCopy").toURI();
File srcDir = new File(urlDir.getPath());
FileUtils.copyDirectory(srcDir, localDirec);
这在本地运行良好,但是当我想将它作为可执行 jar 文件运行时,我得到 NullPointerException
Exception in thread "main" java.lang.NullPointerException
at java.base/java.io.File.<init>(File.java:278)
有什么建议吗?
【问题讨论】:
-
你有没有试过打开你的 jar 看看 directoryToCopy 是否仍然在 src/main/resources 下?如果它在 IDE 中工作,那么在构建你的 jar 时可能会出现一些错误
-
当我打开我的jar时,我直接在它下面找到了我的文件directoryToCopy。可执行jar下没有src/main/resources
-
getClass().getResource() 和 getClass().getClassLoader().getResource() 都试过了,同样的问题,nullPointerException
标签: java jar executable-jar