• 文字サイズ変更
  • S
  • M
  • L

FAQのNo.から検索


  • No : 35843
  • 公開日時 : 2024/05/08 17:29
  • 印刷
DSServista

【DataSpider Servista】SAPConnection の接続テストを実施すると「Java.lang.NoClassDefFoundError」が発生します。原因と対処方法を教えてください

ERP Adapter for SAP のグローバルリソース「SAPConnection」にて、接続テストのボタンを押下すると、下記エラーが発生します。
原因と対処方法を教えてください。
------
Java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: Could not initialize class jp.co.scsk.ds.dp.modules.adapter.sap.JCoDestinationProvider
------
カテゴリー : 

回答

上記エラーは、必要なライブラリが正しく配置されていない、もしくは Linux 環境の場合、OS 側の環境変数が正しく設定できていない場合に発生します。

このため、以下をご確認ください。

■確認内容
1.各ライブラリのバージョンについて
 使用しているライブラリが以下のバージョンであるかご確認ください。

 ・SAP Java Connector 3.1.x
 ・SAP Java IDoc Class Library 3.1.x
 ※ SAP Java Connector は、SAP Java IDoc Class Library のバージョン以降のものをご利用ください。

2.各ライブラリの配置について
 以下のライブラリが所定の場所に配置されているかご確認ください。
 配置済みの場合、DataSpiderServer の再起動を実施しているかご確認ください。

 なお、[DS_INSTALLDIR] は DataSpider Servista のインストールディレクトリを示します。
  例:[DS_INSTALLDIR]=C:\Program Files\DataSpiderServista

 ▼Windows の場合
 (ア) sapjco3.jar → [DS_INSTALLDIR]\server\system\common\lib
 (イ) sapidoc3.jar → [DS_INSTALLDIR]\server\system\common\lib
 (ウ) sapjco3.dll → [DS_INSTALLDIR]\server\bin

 ▼Linux の場合
 (ア) sapjco3.jar → [DS_INSTALLDIR]/server/system/common/lib
 (イ) sapidoc3.jar → [DS_INSTALLDIR]/server/system/common/lib
 (ウ) libsapjco3.so → [DS_INSTALLDIR]/server/bin

3.(Windows の場合)Microsoft Visual Studio 2013 C++ のインストールについて
 Windows 環境で JCo を利用するには、Microsoft Runtime C++ ライブラリが追加されている必要があります。
 Microsoft Visual Studio 2013 C++がインストールされているかご確認ください。
 *Microsoft Visual Studio 2013 は JCo 3.1 対応のバージョンです。
 *インストール後に OS の再起動が必要です。

4.(Linux の場合)LD_LIBRARY_PATH 環境変数の確認
 Linux 環境の場合、LD_LIBRARY_PATH に以下のパスを追記する必要があります。
  [DS_INSTALLDIR]/server/bin

 このため、OS 側にて以下のコマンドを実行し、上記パスが正しく設定されているかご確認ください。
  printenv LD_LIBRARY_PATH

5.(Linux の場合)システムプロパティ「java.library.path」の確認
 OS 側の LD_LIBRARY_PATH に設定したパスが DataSpiderServer 側でも正しく反映されているかを確認するため、Studio の [コントロールパネル] - [DataSpiderServer の設定] - [全般] タブより、「システムプロパティ」を押下し、プロパティ名「lax.nl.env.LD_LIBRARY_PATH」が表示されるか、表示される場合はプロパティ値に上記 4 で設定したパスが表示されるかご確認いただけますでしょうか。

 表示されない場合は、OS 側の環境変数が DataSpiderServer 側で有効になっていない可能性があるため、DataSpiderServer の再起動を実施してください。

■補足
 過去事例では、DataSpiderServer が Linux 環境である場合、OS 再起動時に DataSpiderServer が自動起動する設定をお客様が行っていた場合、本事象が発生していました。
 上記事例では、DataSpiderServer を Linux OS の UNIT 定義(systemd)で自動起動していて、「LD_LIBRARY_PATH」の設定は OS の "~/.profile"で定義していましたが、OS 側の仕様で自動起動時には読み込まれないため、環境変数の設定が反映されていませんでした。
 このため、UNIT 定義に EnvironmentFile の設定を行うことで事象を解消していました。
Version Information
Ver.4.4,Ver.4.3,Ver.4.2
目的別で検索
トラブルシューティング

このFAQに関してのご意見をお聞かせ下さい。