目前我正在尝试安装Pentaho OpenERP 报告。我已经在基于 Windows 的笔记本电脑上安装了 Pentaho Reports,它们运行良好。目前我在 Ubuntu 11.04 上尝试,它给了我这个错误:
错误 build.xml: 18:无法创建任务或类型。
以下是我执行的步骤:
java-6-openjdk
从存储库安装apt-get install java-6-openjdk
然后我将安装的 Java JDK 设置为 java_home 环境
nano /etc/environment
用这个新行添加了环境:
JAVA_HOME="/usr/lib/jvm/java-6-openjdk"
然后我从存储库安装了 Apache ant
apt-get install ant
接下来设置环境
nano /etc/environment
用这个新行添加了环境:
ANT_HOME="/usr/share/ant"
尝试使用命令...检查安装
ant
,然后收到如下消息:Buildfile: build.xml does not exist! Build failed
然后从下载Java服务器Pentaho OpenERP 报告然后复制到 Ubuntu 共享文件夹。然后从命令行,我转到提取的路径,即共享文件夹。我输入并执行命令
ant war
,然后收到此错误消息: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
是否存在兼容性问题?还是我遗漏了一些步骤?
答案1
尝试以下步骤(它们对我有用):
更新 openjdk-6-jdk
在 /etc/environment 中添加:
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"
重新启动系统
在 java_server 中输入命令
ant war
。您应该收到以下消息: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.
答案2
这是由于构建系统无法找到 ivy 库造成的。您必须先安装 ivy:
apt-get install ivy
如果仍然抱怨相同的错误,请使用以下命令运行 ant 作业:
ant -lib /usr/share/java/ war
其中 /usr/share/java/ 是 ivy 安装 .jar 文件的路径。
顺便说一句:我不知道你到底从 git 克隆了什么,但是在你发送的链接上,ivy 资源是在第 27 行定义的,而不是像你说的那样在第 18 行。