java.lang.module.FindExceptionと java.lang.module.InvalidModuleDescriptorException
解決したいこと
Javaでエクセル操作をやってみようと思い、調べながらやっているとこのエラーにぶつかりました。調べてみたものの解決方法が分からなかったので、調べる方法or解決方法を教えていただきたいです。
・ApachePOIのダウンロードからビルドパスへの追加はこちらのサイトを参考にしました。が、このサイトとApachePOIのバージョンが違い、サイトでは追加しているpoi-ooxml-schemas
のファイルは無かったので、代わりにpoi-ooxml-full
を追加してみました。しかし、この状態で実行すると別のエラーが出たので、ダウンロードしたApachePOIの全jarファイルを追加しています。
・書いたコードは、こちらのサイトのエクセルファイルの読込をするコードです。
コード自体にエラーは出ませんでしたが、実行するとコンソールにエラーが出てきます。
環境
Windows10
Maven未使用
Eclipse 4.24.0
pon-bin-5.2.3
jdk-18.0.1.1
発生している問題・エラー
Error occurred during initialization of boot layer
java.lang.module.FindException: Unable to derive module descriptor for C:\Users\Username\Java\poi-bin-5.2.3\auxiliary\batik-script-1.14.jar
Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.batik.bridge.RhinoInterpreterFactory not in module
該当するソースコード
public class Main {
public static void main(String[] args) throws EncryptedDocumentException, IOException{
// Excelファイルへアクセス
Workbook excel = WorkbookFactory.create(new File("User.xlsx"));
// シート名を取得
Sheet sheet = excel.getSheet("user_data");
// 0行目を取得
Row row = sheet.getRow(0);
// 0番目のセルの値を取得
Cell cell_name = row.getCell(0);
// 1番目のセルの値を取得
Cell cell_sex = row.getCell(1);
// 2番目のセルの値を取得
Cell cell_age = row.getCell(2);
// セルの値を文字列として取得
String value_name = cell_name.getStringCellValue();
String value_sex = cell_sex.getStringCellValue();
String value_age = cell_age.getStringCellValue();
// 文字列を結果として表示
System.out.println("value_name : " + value_name);
System.out.println("value_sex : " + value_sex);
System.out.println("value_age : " + value_age);
}
}
自分で試したこと
・ビルドパスへの入れ直しやApachePOIの再ダウンロードなどは試してみましたが効果なしです。
0