Derzeit versuche ich zu installierenPentaho-Berichte für OpenERP. Ich habe Pentaho Reports auf Windows-basierten Laptops installiert und sie funktionieren einwandfrei. Derzeit versuche ich es mit Ubuntu 11.04 und erhalte diesen Fehler:
Fehler build.xml: 18: Aufgabe oder Typ konnten nicht erstellt werden.
Nachfolgend sind die Schritte aufgeführt, die ich ausgeführt habe:
java-6-openjdk
Aus dem Repository installiertapt-get install java-6-openjdk
Dann habe ich das installierte Java JDK in der java_home-Umgebung installiert
nano /etc/environment
Umgebung mit dieser neuen Zeile hinzugefügt:
JAVA_HOME="/usr/lib/jvm/java-6-openjdk"
Ich habe dann Apache Ant aus dem Repository installiert
apt-get install ant
Anschließend die Umgebung einrichten
nano /etc/environment
Umgebung mit dieser neuen Zeile hinzugefügt:
ANT_HOME="/usr/share/ant"
Ich habe versucht, die Installation mit dem Befehl
ant
... zu überprüfen und erhalte Meldungen wie diese:Buildfile: build.xml does not exist! Build failed
Anschließend den Java-Server herunterladen vonPentaho-Berichte für OpenERPund dann in den freigegebenen Ubuntu-Ordner kopiert. Und dann bin ich über die Befehlszeile zum extrahierten Pfad gegangen, der der freigegebene Ordner ist. Ich habe den Befehl erwähnt und ausgeführt
ant war
und diese Fehlermeldung erhalten:BUILD FAILED /share/java_server/build.xml: 18: problem: failed to create task or type antlibrg:apacge.ivy.ant: retrieve cause: The name is undefined. Action: Check the spelling. Action: Check that any custom taks/types have been declared Action: Check that any <presetdef>/<macrodef>declarations have taken place. No types or taks have been defined in this namespace yet This appears to be an antlib declaration. Action: Check that the implementing library exists in one of: - /usr/share/ant/lib -/root/.ant/lib - A directory added on the command line with the -lib argument Total time: 0 seconds
Gibt es ein Kompatibilitätsproblem? Oder übersehe ich einige Schritte?
Antwort1
Versuchen Sie diese Schritte (bei mir haben sie funktioniert):
openjdk-6-jdk aktualisieren
Fügen Sie in /etc/environment Folgendes hinzu:
JAVA_HOME="/usr/lib/jvm/java-6-openjdk" JRE_HOME="/usr/lib/jvm/java-6-openjdk/jre" ANT_HOME="/usr/share/ant/bin" PATH = ".....:$JAVA_HOME:$JRE_HOME:$ANT_HOME:/usr/share/ant/lib"
Starten Sie Ihr System neu
Geben Sie in java_server den Befehl ein
ant war
. Sie sollten diese Meldung erhalten:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.launch.Launcher at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) Could not find the main class: org.apache.tools.ant.launch.Launcher. Program will exit.
Antwort2
Dies liegt daran, dass das Build-System die Ivy-Bibliotheken nicht finden kann. Sie müssen Ivy zuerst installieren:
apt-get install ivy
Wenn weiterhin derselbe Fehler auftritt, führen Sie den Ant-Job mit folgendem Befehl aus:
ant -lib /usr/share/java/ war
wobei /usr/share/java/ ein Pfad ist, in dem Ivy die JAR-Dateien installiert.
Übrigens: Ich weiß nicht, was genau Sie von Git geklont haben, aber in dem Link, den Sie gesendet haben, ist die Ivy-Ressource in Zeile 27 definiert, nicht in Zeile 18, wie Sie sagen.