2016-09-15 84 views
0

我已經安裝jco3 for linux。錯誤:ubuntu上不存在package com.sap.conn.jco

我使用Ubuntu 16.04 64位x86和Java的8甲骨文

如文檔說,我需要LD_LIBRARY_PATH和CLASSPATH添加到JCO目錄。

export LD_LIBRARY_PATH=/home/zain/sapjco

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

然後創建簡單的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); 

      } 

    } 
} 

但是當我跑我的項目,我得到錯誤

error: package com.sap.conn.jco does not exist

有沒有什麼特別的步驟我錯過了什麼?

+0

這是整個錯誤信息嗎?您執行了哪些步驟來編譯和運行您的應用程序,您收到了哪些消息? – vwegert

回答

0

我不知道你是否已經做到了這一點,但是:

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

只能在當前bash的實例,這意味着,如果你關閉終端窗口,然後,出口路徑將會消失工作。一種方法是將它添加到你的〜/。配置文件

然後你可以運行這個source ~/.bashrc爲了刷新你的bash窗口。

不知道這是否有幫助,因爲我從來沒有在Ubuntu中編寫Java代碼,只有在Mac上使用Eclipse/Idea。無論如何,如果這不是如何去做的話,那麼你將sapjco3.jar導入你的項目的方式會有問題。

0

您還需要使用您的CLASSPATH環境變量,並將其作爲classpath參數傳遞給應運行項目的JVM實例。

但我不認爲你真的在運行你的項目的步驟,你必須已經無法編譯你的類testjco。 (順便說一下,我建議遵循通用Java命名約定,並讓所有類名以大寫字母開頭。)

您正在導入屬於SAP Java Connector 3.0(sapjco3.jar)的包com.sap.conn.jco,但在代碼中,您可以使用過時SAP Java Connector 2.0/2.1(sapjco.jar)的程序包com.sap.mw.jco中的JCo API。這不起作用,不能編譯。