2015-10-29 97 views
0

在mule項目中,我有一個需要訪問cert.pem文件的Python腳本組件。Mule:從CloudHub中的Python腳本組件訪問文件資源

在AnyPointStudio中,我將它放在./src/main/resources/文件夾中。 當我創建一個Mule Deployable Archive時,它將在./target/classes/文件夾中結束。

我應該指定什麼路徑來訪問此文件。

我已經試過這工作

path = 'cert.pem' 

## And ## 

cwd = os.getcwd() 
path = os.path.join(cwd, 'classes','cert.pem') 
path = os.path.join(cwd, 'target','classes','cert.pem') 
path = os.path.join(cwd, 'src','main', 'resources','cert.pem') 

無。
有什麼建議嗎?

支持問題: 在CloudHub簡單的print()語句在.py腳本不記錄,我試過log("message")但是引發了一個異常。有任何想法嗎?

回答

0

我不知道Python,但該文件應該只在類路徑中可用。因此,src/main/resources中的所有內容都將在類路徑中可用。所以'src/main/resources/cert.pem'應該被引用爲'cert.pem'

0

所以,至少在Python中,類路徑與工作目錄路徑不同。但我終於弄清楚瞭如何使用MULE_HOME env變量來獲取類路徑。

base = os.path.join(os.getenv('MULE_HOME'), 'apps', 'your-app-name', 'classes') 

然後你就可以得到這樣的certFile中:

certfile = os.path.join(base, 'cert.pem')