如果配置文件不在当前目录

时间:2015-11-05 11:12:41

标签: java nlp

我使用maltparser版本1.8.1训练了一个模型,我可以很好地解析文本,但我试图从非本地目录中进行,

java -Xmx6G -jar /Users/me/maltparser-1.8.1/maltparser-1.8.1.jar -c /Users/me/maltparser-1.8.1/configFile -m parse

我收到以下错误:

Couldn't find the MaltParser configuration file: /Users/me/maltparser-1.8.1/configFile.mco

但是,该文件肯定存在。我从错误中复制了文本:

$ ls /Users/me/maltparser-1.8.1/configFile.mco
/Users/me/maltparser-1.8.1/configFile.mco

我可以让它工作的唯一方法是在配置文件所在的目录中运行java。为了使用配置文件的完整路径,我需要做些什么特别的事情吗?

我认为,有可能在shell脚本中使用cd来完成这项工作,但我仍然想知道为什么这样做是行不通的。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,但随后我查看了source code,发现你需要从执行java命令的地方提供配置文件的相对路径。这是因为您执行程序的路径前置于您作为参数提供的配置文件的路径,除非您已将工作目录作为参数提及(在这种情况下将配置放在工作目录中)。