2017-05-02 76 views
0
File f = new File(basedir, "../src/main"); 

我在Jenkins的一個maven版本中有這個。它被用來生成文件。它在我的本地機器(windows 7)上構建時工作,但在Linux上運行時無法工作。它看起來像是將..作爲文本文件夾路徑,而不是返回目錄。錯誤是:dot dot(..)pathing does not work on java new file with linux running jenkins

Embedded error: /path/to/Jenkins/project/target/../src/main/xsd/common.xsd (No such file or directory) 
+0

如果'basedir'是'File'對象,你可以嘗試'basedir.getParent()'和相對路徑沒有點。 –

+2

一般而言,您不應該將文件生成到您的'src'樹中。最好保持源代碼控制的原始狀態。大多數現代Maven插件會自動生成文件到'target/generated-sources/...'目錄,並將它們添加到構建所需的java源代碼或資源列表中。 –

回答

0

using basedir.getParent()working!謝謝lukegv