为 Ubuntu 11.04 制作 Pentaho 报告

为 Ubuntu 11.04 制作 Pentaho 报告

目前我正在尝试安装Pentaho OpenERP 报告。我已经在基于 Windows 的笔记本电脑上安装了 Pentaho Reports,它们运行良好。目前我在 Ubuntu 11.04 上尝试,它给了我这个错误:

错误 build.xml: 18:无法创建任务或类型。

以下是我执行的步骤:

  1. java-6-openjdk从存储库安装

    apt-get install java-6-openjdk
    
  2. 然后我将安装的 Java JDK 设置为 java_home 环境

    nano /etc/environment
    

    用这个新行添加了环境:

    JAVA_HOME="/usr/lib/jvm/java-6-openjdk"
    
  3. 然后我从存储库安装了 Apache ant

    apt-get install ant
    
  4. 接下来设置环境

    nano /etc/environment
    

    用这个新行添加了环境:

    ANT_HOME="/usr/share/ant"
    
  5. 尝试使用命令...检查安装ant,然后收到如下消息:

    Buildfile: build.xml does not exist!
    Build failed
    
  6. 然后从下载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 行。

相关内容