2017-06-08 7 views
0

中にルートpomは、次の依存関係を持っているEJB ETLのNoClassDefFoundError:org.apache.poi.util.SAXHelper実行

 <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi</artifactId> 
      <version>3.16</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi-ooxml</artifactId> 
      <version>3.16</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi-ooxml-schemas</artifactId> 
      <version>3.16</version> 
     </dependency> 

しかし、実行時に、etlプロセス次のエラー発生時に、

EJB threw an unexpected (non-declared) exception during invocation of method "****" on bean "BeanId(***-ear#***-ejb.jar#***ServiceImpl, null)". Exception data: java.lang.NoClassDefFoundError: org.apache.poi.util.SAXHelper 

次のコードスニペットの根本原因はNoClassDefFoundErrorです。

XMLReader parser = SAXHelper.newXMLReader(); 
環境が使用

は、

JDK 1.6.0_35 
Websphere Application Server v8.0 
Eclipse Juno Service Release 2 

完全なスタックトレースが

Caused by: java.lang.ClassNotFoundException: org.apache.poi.util.SAXHelper 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:434) 
    at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:230) 
    at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:703) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:682) 
    at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:123) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:665) 
    at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:62) 
    at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58) 
    at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:566) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:665) 
    ... 87 more 

ノートここで見つけることができます:私はearアーカイブを開き、それぞれのjarsが利用可能に発見しました。チェックしたEclipsejava build pathもあります。すべてがうまくいくようです。

ありがとうございました。

+0

「耳」が「コンソールだった」を通じて「was」にデプロイされている間、アプリケーションは正常に動作します。 'Eclipse'クラスパスの入力問題のようですが、コミュニティからのコメントは役に立ちます – BalaajiChander

答えて

0

SAXHelperはpoi-ooxml-3.16.jarである。私は、このクラスの静的初期化子の1つが失敗していると思われます。

+0

Eclipseでクラスパスのエントリをチェックしましたが、すべてのjarファイルが利用できます。この問題を回避するには – BalaajiChander

+0

クラスローダーモードPARENT_LASTを使用しますか?そうでなければ、あなたの耳(/戦争?)クラスローディング設定を変更してください。最近WAS Libertyにいくつかの奇妙な問題がありました。私はBouncycastleをJVM/lib/extに配置する必要があります... PARENT_LASTで動作することを願っています... – kiwiwings

+0

WASでの親の最後のモードはありません。エクリプスのエントリは、メタファイルを編集しようとしたが、運がない。現在作成された新しく作成されたワークスペースは、新しいコードでチェックされ、ビルドされ、動作しましたが、運はありません。現在、端末からアプリケーションをビルドし、WAS管理Webコンソールを介して展開し、私の仕事を進めています... – BalaajiChander

関連する問題