Windows 7マシンにJava1.8.0_112(jdkとjre 64bitの両方)をインストールしました。Java1.8.0_112とApache POIのJNIエラー
私は.BATファイルを経由して私のプログラムのいずれかを実行しようとしていますと、次のエラーを取得しています:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/ss/use
rmodel/Workbook
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Workbook
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 7 more
私はアンインストールし、JREを再インストールし、私は私のマシンを再起動したしました。私は必要な図書館をすべて指していることを確認しました。
POIブックについてこのエラーが表示されていますが、私は必要なすべてのApacheライブラリと適切な依存関係を持っているため、なぜこれが問題なのか分かりません。私が言ったように、NetBeansのjdkの魅力のように走るが、.bat経由で私のデスクトップ上で実行すると完全に爆発する
このプログラムは、1.8.0_112のjdkを使っているNetbeans8環境JDK8バイナリです。
次のように私の.batファイルは、私が読みやすくするために改行を追加した、次のとおりです。
C:\jre1.8.0_112\bin\java -cp
"T:\Netbeans Projects\MatchReport\build\classes;
S:\ADSJava\Jars\lib\poi-3.15.jar;
S:\ADSJava\Jars\lib\poi-ooxml-3.15.jar;
S:\ADSJava\Jars\lib\poi-ooxml-schemas-3.15.jar;
C:\Users\Jessica\Desktop\lib\xmlbeans-2.6.0.jar;
S:\ADSJava\Jars\lib\dom4j-1.6.1.jar;
S:\ADSJava\Jars\lib\commons-io-2.5.jar;
S:\ADSJava\Jars\lib\junit-4.12.jar;
S:\ADSJava\Jars\lib\commons-codes-1.10.jar;
S:\ADSJava\Jars\lib\commons-collections4-4.1.jar;
C:\Users\Jessica\Desktop\lib\DataServer.jar;
C:\Users\Jessica\Desktop\lib\ucanaccess-3.0.4.jar;
C:\Users\Jessica\Desktop\lib\jackcess-2.1.3.jar;
C:\Users\Jessica\Desktop\lib\xbeans.jar;
C:\Users\Jessica\Desktop\lib\commons-logging-1.0.4.jar;
C:\Users\Jessica\Desktop\lib\hsqldb.jar;
C:\Users\Jessica\Desktop\lib\commons-lang-2.4.jar"
ads.ADSMatchReport2
"Toyota Of Turnersville Control.txt" 2>&1> MatchReportResults.txt
すべてのヘルプやガイダンスは大幅にあなたに感謝、感謝されるだろう!
これは違いがあるが、これらのネットワークマップ共有(T:、S :)はわからないのですか?あなたはそれらの瓶をCに移動するとどうなりますか?異なる/古いJDKを使用するとどうなりますか?他のpoi-relatedライブラリのない非常に基本的なPOIの例だけを使用するとどうなりますか? – kiwiwings
ネットワークドライブ 'S:'が正しくマップされていないようです。 'CMD'を開いて' S: '[Enter]と入力してから' dir ADSJava' [Enter]を押すと、ディレクトリ一覧が表示されますか? –
両方のキウイウィングとAxelこれらのドライブは両方ともネットワークドライブであり、両方がマップされています。両方ともやりとりするプログラムがあり、ADSJavaでディレクトリリストを表示すると7つのファイルと25個のサブディレクトリが表示されます。私はポージャーをCに載せることを見て、何が起こるか見るつもりです。皆さんのおかげでフィードバックに感謝します! –