2017-08-01 30 views
1

私はApache POI 3.15をExcel 2010ブックの読み込みに使用しています。Apache POI 3.15 org/apache/commons/collections4/ListValuedMapがありません

java.lang.NoClassDefFoundErrorが:ORG/apacheの/ - でも依存jarファイルを追加した後コモンズ-collections4-4.1.jarを私のビルド・パス(エクリプス)で、私はListValuedMapクラスのクラス定義が見つからないエラーが発生しますコモンズ/コレクション4/ListValuedMap

私は何が欠けていますか? jarをダブルチェックすると、ListValuedClassがjarファイル内にあってもまた、Eclipseの

の "ターゲットプラットフォーム"

コード

File excelFile = new File(excelFilePath); 

FileInputStream file = new FileInputStream(excelFile); 

XSSFWorkbook workbook = new XSSFWorkbook (file); 
+0

のようにあなたのコード

を使用することができますか?ランタイムパスにも追加しましたか? – Gagravarr

+0

Eclipse 4.5.2(Mars.2)のプラグインプロジェクトで上記のコードを使用しています。そこで、ターゲットプラットフォームとビルドパスの両方に追加しようとしました(プロジェクトのRMB - ビルドパス - ビルドパスの設定... - 外部Jarsの追加)。より高いEclipseバージョンのプラグインプロジェクトは、ランタイムクラスパスを追加する古い方法を提供しません – Moondra

+0

上記の問題を助けてください。 – Moondra

答えて

0

使用バージョンのApache POI 3.17でそれを追加してみました。私は3.16

0

は、あなたがあなたのプロジェクト

  • POI-3.17.jar
  • POI-excelant-3.17.jar
  • POI-ooxml-で次のjarを追加する必要が使用したのと同じ問題がありました3.17.jar
  • POI-OOXML-スキーマ-3.17.jar
  • のXMLBeans-2.3.0.jar
  • コモンズ・コレクション - 4-4.1.jar

続いた後、あなたはどのようにビルド・パスに追加しました。..

import java.io.File; 
import java.io.FileOutputStream; 

import org.apache.poi.xssf.usermodel.XSSFSheet; 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

public class Demo1 
{ 
    public static void main(String[] args) 
    { 
     try 
     { 
      XSSFWorkbook workbook = new XSSFWorkbook(); 
      XSSFSheet sheet = workbook.createSheet("Sheet1"); 

      File f1 = new File("G:\\apachedemo.xlsx"); 
      FileOutputStream fileop = new FileOutputStream(f1); 
      workbook.write(fileop); 
      workbook.close(); 
      System.out.println("File Created...!"); 
     } 
     catch(Exception e) 
     { 
      System.out.println("Main Error : "+e); 
     } 
    } 
} 
関連する問題