如果 MaltParser 不在当前目录中,则无法找到配置文件
MaltParser cannot find configuration file if it is not in current directory
我已经使用 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
是可能的,但我仍然想了解为什么这样做不起作用。
我遇到了同样的问题,但后来我查看了 source code,发现您需要提供从执行 java 的地方开始的配置文件的相对路径命令。这是因为你执行程序的路径被添加到你作为参数提供的配置文件的路径之前,除非你提到工作目录作为参数(在这种情况下将配置放在工作目录中)。
我已经使用 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
是可能的,但我仍然想了解为什么这样做不起作用。
我遇到了同样的问题,但后来我查看了 source code,发现您需要提供从执行 java 的地方开始的配置文件的相对路径命令。这是因为你执行程序的路径被添加到你作为参数提供的配置文件的路径之前,除非你提到工作目录作为参数(在这种情况下将配置放在工作目录中)。