嗨,这是从这个问题Java Maven reference files in WebApp
开始的我正在尝试将文件夹复制到构建目录中(这是成功的)然后我尝试运行应用程序并将该目录复制到临时目录中,以便我可以进行更改并将其压缩到Scorm包中。
该文件夹位于构建中
C:\工作空间\管理员\目标\管理员-1.0-快照\资源\应用\ SCORM
我正在尝试从正在运行的应用程序中引用它:
System.out.println(new File("applications/scorm").getAbsolutePath());
File source = new File("applications/scorm");
File dest = new File(Constants.TEMP_DIR_PATH + '/' + guideId);
try {
FileUtils.copyDirectory(source, dest);
System.out.println("copy complete");
} catch (IOException e) {
e.printStackTrace();
}
它永远找不到文件,我的绝对路径检查给了我
C:\工作空间\管理员\应用\ SCORM \
这表明它正在查看根目录。
即。该文件夹位于资源下的构建目录的根目录中,此处File source = new File("What is the file URL from the build directory?");
引用该文件夹的内容是什么?
修改
这有效
目标/管理-1.0-SNAPSHOT /资源/应用/ SCORM
但是当我将其部署为WAR文件时,我怀疑它是否可以正常生产
答案 0 :(得分:1)
您需要指定构建目录中的所有工件(pom.xml所在的位置)所以解决方案是将源位置设置为resources / applications / scorm
System.out.println(new File("resources/applications/scorm").getAbsolutePath());
File source = new File("resources/applications/scorm");
File dest = new File(Constants.TEMP_DIR_PATH + '/' + guideId);
try {
FileUtils.copyDirectory(source, dest);
System.out.println("copy complete");
} catch (IOException e) {
e.printStackTrace();
}