2016-04-30 11 views
1

Ich habe eine Java-Anwendung (Ninja-Framework), die TreeTagger verwendet. Das Root-Verzeichnis von TreeTagger wird über die Umgebungsvariable TREETAGGER_HOME festgelegt. Wenn ich Anwendung über ninja laufen, funktioniert alles in Ordnung, aber wenn ich IST-Datei bereitstellen Kater, kann es nicht Baum Tagger binär lokalisieren:Tomcat kann TreeTagger binär nicht finden

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. 

Die Lage, die in Ausnahme angegeben (/ home/jarino/treetagger/bin/tree-tagger) ist gültig - die Binärdatei existiert. Warum kann die Tomcat-Anwendung die vorhandene Datei nicht sehen?

Antwort

1

Ich vermute, Sie sind nicht die Tomcat-Anwendungsserver als Benutzer jarino ausgeführt wird, so,

  1. Überprüfen Sie, dass der Kater Benutzer, die der Kater-Prozess läuft, hat es die Umgebungsvariable
  2. Wenn der Umgebungsvariable tatsächlich eingestellt wird, überprüfen Sie doppelt so hoch tomcat Benutzer die richtigen Berechtigungen haben das treetagger Verzeichnis in Ihrem Home-Ordner

TIP zuzugreifen: ich kann sehen, dass ein maven-Paket für treetagger existiert. Einen Abhängigkeitsmanager zu verwenden, wird dein Leben viel einfacher machen :-)

+0

Danke für Tipps. Ich setze die Umgebungsvariable in/etc/default/tomcat7, System.getenv ("TREETAGGER_HOME") liefert korrekte Ausgabe. Als die Privilegien erlaubte ich lesen, schreiben und für die Binärdatei ausführen, aber das hat nicht funktioniert. Es stellte sich heraus, dass es das bin-Verzeichnis selbst war, für das der Kater nicht das Privileg hatte. Nochmals vielen Dank, ich werde das Maven-Paket später überprüfen :) –

+0

Ihr Willkommen, froh, dass es funktioniert hat – JustDanyul

Verwandte Themen