错误:com.sap.conn.jco包在ubuntu上不存在



我已经为linux安装了JCo3。

我正在使用ubuntu 16.04 x86_64和java-8-oracle

如文档所述,我需要将LD_LIBRARY_PATH和CLASSPATH添加到JCo目录。

export LD_LIBRARY_PATH=/home/zain/sapjco
export CLASSPATH=/home/zain/sapjco/sapjco3.jar

然后创建简单的JCo连接测试,但是当我运行我的项目时,我得到了错误

错误:package com.sap.conn.jco不存在

我有没有错过什么特别的步骤?

代码:

import com.sap.conn.jco.*;
public class testjco {
     public static void main(String[] args) {
          JCO.Client mConnection;
          try {
                    mConnection = JCO.createClient("301", // SAP client
                                                         "somecoolguy", // userid
                                                          "****", // password
                                                          "EN", // language
                                                          "XXX", // application server host name
                                                          "00"); // system number
               mConnection.connect();
               System.out.println(mConnection.getAttributes());
               mConnection.disconnect();
          } catch (Exception ex) {
               ex.printStackTrace();
               System.exit(1);
          }
     }
}

我不知道你是否已经这样做了,但是:

export LD_LIBRARY_PATH=/home/zain/sapjco
export CLASSPATH=/home/zain/sapjco/sapjco3.jar

只在当前的bash实例中工作,这意味着如果您关闭了终端窗口,那么导出路径将会消失。保存它的一种方法是将它添加到~/.profile

那么你可以运行这个source ~/.bashrc来刷新你的bash窗口。

不知道这是否有帮助,因为我从来没有在Ubuntu中编写Java,只在Mac上使用Eclipse/Idea。无论如何,如果不是这样做的,那么导入sapjco .jar到项目的方式就有问题。

您还需要使用CLASSPATH环境变量,并将其作为CLASSPATH参数传递给运行项目的JVM实例。

但是我不认为你真的在运行你的项目的步骤,你必须已经失败编译你的类testjco。(顺便说一下,我建议遵循通用的Java命名约定,让所有类名以大写字母开头。)

您正在导入属于SAP Java Connector 3.0 (sapjco.jar)的包com.sap.conn.jco,但在您的代码中,您使用过时的SAP Java Connector 2.0/2.1 (sapjco.jar)的包com.sap.mw.jco中的JCo API。

最新更新