我有一个使用TreeTagger的java应用程序(Ninja框架)。TreeTagger的根目录是通过环境变量TreeTagger_HOME设置的。当我通过ninja运行应用程序时,一切都很好,然而,当我将war文件部署到tomcat时,它无法定位Tree Tagger二进制文件:
java.lang.RuntimeException: java.io.IOException: Unable to locate tree-tagger binary in the following locations [/home/jarino/treetagger/bin/tree-tagger]. Make sure the environment variable 'TREETAGGER_HOME' or 'TAGDIR' or the system property 'treetagger.home' point to the TreeTagger installation directory.
异常(/home/jarino/treetagger/bin/treetagger)中指定的位置有效-二进制文件存在。为什么Tomcat应用程序看不到现有文件?
我猜您不是以用户jarino的身份运行Tomcat应用程序服务器,因此,
- 仔细检查tomcat进程作为其运行的tomcat用户是否设置了环境变量
- 如果实际设置了环境变量,请仔细检查tomcat用户是否具有访问主文件夹中treetagger目录的正确权限
提示:我可以看到treetagger存在一个maven包。使用依赖项管理器,将使您的生活更加轻松:-)