2016-10-12 94 views
0

你好,這從這個問題上遵循Java Maven reference files in WebAppMaven的參考文件夾

我試圖到一個文件夾複製到構建目錄(這是成功的)然後我嘗試運行應用程序並複製該目錄爲臨時目錄,以便我可以進行更改並將其壓縮成Scorm包。

該文件夾是在構建爲

C:\工作區\ ADMIN \目標\ ADMIN-1.0-SNAPSHOT \資源\應用程序\ 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:\工作區\ ADMIN \應用程序\ SCORM \

這將表明它看起來在根目錄下。

如何從構建目錄中的內置應用程序引用文件? enter image description here

即該文件夾位於資源下的編譯目錄的根目錄下,這裏引用的文件夾是什麼File source = new File("What is the file URL from the build directory?");

編輯

這工作

目標/管理-1.0-SNAPSHOT /資源/應用/ SCORM

但我懷疑將在生產工作時,它的部署爲WAR文件

+0

也許試試類路徑資源?在這種情況下,你可以運行爲戰爭或爆炸戰爭(即解壓縮戰爭)。 – Taylor

+0

我該如何去解決這個問題,以及如何引用該文件夾? – user5839

+0

對不起,你是否將上述內容作爲構建的一部分或作爲運行應用程序的一部分來運行? – Taylor

回答

1

您需要指定構建目錄中的所有構件(其中您的pom.xml)所以解決方案是將源位置作爲res資源/應用/ 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(); 
} 
+0

你能用代碼示例更好地解釋一下嗎? – user5839

+0

@ user5839檢查代碼。我已經更新了它。 – Eranda

+0

嗨,我一直在試圖 - 不工作 - 這項工作目標/管理1.0-SNAPSHOT /資源/應用程序/ scorm,但我懷疑將生產 – user5839