0

在 mule 项目中,我有一个 Python 脚本组件,它需要访问 cert.pem 文件。

在 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')

这些都不起作用。
有什么建议吗?

附带问题:在 CloudHubprint()中,.py 脚本中的简单语句不记录,我尝试过log("message"),但这引发了异常。有任何想法吗?

4

2 回答 2

0

我不知道python,但该文件应该只在类路径中可用。因此 src/main/resources 中的所有内容都将在类路径中可用。所以'src/main/resources/cert.pem'应该被引用为'cert.pem'

于 2015-10-29T18:57:39.017 回答
0

因此,至少对于 Python,类路径与工作目录路径不同。但我最终确实弄清楚了如何使用 MULE_HOME 环境变量获取类路径。

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

然后你可以像这样得到证书文件:

certfile = os.path.join(base, 'cert.pem')
于 2015-10-30T03:16:41.483 回答