Build

时间:2016-10-12 20:23:56

标签: java maven

嗨,这是从这个问题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 \

这表明它正在查看根目录。

如何从构建目录中构建的应用程序引用文件? enter image description here

即。该文件夹位于资源下的构建目录的根目录中,此处File source = new File("What is the file URL from the build directory?");引用该文件夹的内容是什么?

修改

这有效

  

目标/管理-1.0-SNAPSHOT /资源/应用/ SCORM

但是当我将其部署为WAR文件时,我怀疑它是否可以正常生产

1 个答案:

答案 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();
}