我希望将正在运行的Jar文件中的应用程序(换句话说,具有多个子目录的目录)的程序分发到客户机的位置。
我尝试过使用FileUtils:
File TO = new File(ParentPath, "NewVersion.app");
try {
File FROM = FileUtils.toFile(ClassLoader.getSystemResource("NewVersion.app"));
FileUtils.copyDirectory(FROM, TO);
} catch (IOException ex) {…}
但是以上所有代码都是创建一个名为" NewVersion.app"的空文件夹。然后抛出异常(参数FROM文件不是目录)。其他一些SO答案表明,Jars中的文件必须作为输入流而不是文件检索,但我不确定。
我打算将jar打包到exe中,因此要复制的应用程序不一定要坐在Jar中。有没有更好的方法来解决这个问题或修复上述代码?