Java 如果配置文件不在当前目录中,则语法分析器找不到该配置文件

Java 如果配置文件不在当前目录中,则语法分析器找不到该配置文件,java,nlp,Java,Nlp,我已经使用maltparserversion 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 我得到以下错误: 找不到MaltParser配置文件:/Users/me/MaltParser-1.8.1/configFile.mco 但是,

我已经使用
maltparser
version 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
我得到以下错误:

找不到MaltParser配置文件:/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
是可能的,但我仍然想理解为什么这样做不起作用。

我也面临着同样的问题,但随后我查看了,发现您需要提供从执行java命令的位置开始的配置文件的相对路径。这是因为执行程序的路径在作为参数提供的配置文件的路径之前,除非您提到了作为参数的工作目录(在本例中,将配置放在工作目录中)