Tomcat 无法找到 TreeTagger 二进制文件

Tomcat unable to locate TreeTagger binary

我有一个使用 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/tree-tagger) 中指定的位置有效 - 二进制文件存在。为什么 Tomcat 应用程序看不到现有文件?

我猜你不是 运行 作为用户 jarino 的 Tomcat 应用程序服务器,所以,

  1. 仔细检查 tomcat 用户,即 tomcat 进程 运行 是否设置了环境变量
  2. 如果确实设置了环境变量,请仔细检查 tomcat 用户是否具有访问主文件夹中的 treetagger 目录的正确权限

提示:我可以看到存在用于 treetagger 的 maven 包。使用依赖管理器,会让你的生活更轻松:-)