2016-09-15 5 views
0

Я уже установил jco3 для linux.Ошибка: пакет com.sap.conn.jco не существует на ubuntu

Я использую Ubuntu 16.04 x86_64 и 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 

работать только в текущем экземпляре Баша, что означает, что если вы когда-либо закрыть это окно терминала, то, что экспорт путь пропадет , Один из способов сохранить это - добавить его в свой файл ~/.profile

, тогда вы можете просто запустить этот source ~/.bashrc, чтобы обновить окно bash.

Не знаю, помогло ли это, поскольку я никогда не кодировал Java в Ubuntu, только на Mac с Eclipse/Idea. В любом случае, если это не так, то есть проблема с тем, как вы импортировали свой sapjco3.jar в свой проект.

0

Вам также необходимо использовать переменную окружения CLASSPATH и передать ее как аргумент classpath вашему экземпляру JVM, который должен запустить ваш проект.

Но я не думаю, что вы на самом деле выполняете свой проект, вы, должно быть, уже не скомпилируете свой тест testjco. (Кстати, я рекомендую следовать общепринятым соглашениям об именах Java, и пусть все имена классов начинаются с заглавной буквы.)

Вы импортируете пакет com.sap.conn.jco который принадлежит SAP Java Connector 3.0 (sapjco3.jar), но в вашем коде вы используете JCo API из пакета com.sap.mw.jco устаревшего SAP Java Connector 2.0/2.1 (sapjco.jar). Это не работает и не может быть скомпилировано.

 Смежные вопросы

  • Нет связанных вопросов^_^