0

ビルド xml でエラーが発生しました。ログから、エラーはApache poiライブラリ「poi-ooxml-3.9-20121203」とJavaバージョンに関するものだと思います。現在、JDK 4 と apache poi 3.9 を使用しています。

Buildfile: C:\POITest\build.xml
    init:
    clean:
       [delete] Deleting directory C:\POITest\build
       [delete] Deleting directory C:\POITest\dist
    init:
        [mkdir] Created dir: C:\POITest\dist
        [mkdir] Created dir: C:\POITest\build
        [mkdir] Created dir: C:\POITest\dist\lib
    compile:
        [javac] C:\POITest\build.xml:38: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
        [javac] Compiling 1 source file to C:\POITest\build
        [javac] C:\POITest\src\poi\test\TestMain.java:8: cannot access org.apache.poi.openxml4j.exceptions.InvalidFormatException
        [javac] bad class file: C:\POITest\lib\poi3-9\poi-ooxml-3.9-20121203.jar(org/apache/poi/openxml4j/exceptions/InvalidFormatException.class)
        [javac] class file has wrong version 49.0, should be 48.0
        [javac] Please remove or make sure it appears in the correct subdirectory of the classpath.
        [javac] import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
        [javac]                                            ^
        [javac] 1 error

POI JARSのリスト

/POITest/lib/poi3-9/commons-codec-1.5.jar
/POITest/lib/poi3-9/commons-logging-1.1.jar
/POITest/lib/poi3-9/dom4j-1.6.1.jar
/POITest/lib/poi3-9/junit-3.8.1.jar
/POITest/lib/poi3-9/log4j-1.2.13.jar
/POITest/lib/poi3-9/poi-3.9-20121203.jar
/POITest/lib/poi3-9/poi-examples-3.9-20121203.jar
/POITest/lib/poi3-9/poi-excelant-3.9-20121203.jar
/POITest/lib/poi3-9/poi-ooxml-3.9-20121203.jar
/POITest/lib/poi3-9/poi-ooxml-schemas-3.9-20121203.jar
/POITest/lib/poi3-9/poi-scratchpad-3.9-20121203.jar
/POITest/lib/poi3-9/stax-api-1.0.1.jar
/POITest/lib/poi3-9/xmlbeans-2.3.0.jar

ビルド ファイルが必要な場合はお知らせください。これを解決するために何をする必要があるか誰か教えてください。ありがとう

4

1 に答える 1

4

49.0 および 48.0 は、クラス ファイル形式のバージョン番号です。エラー メッセージは、POI-3.9 が JDK 5 クラス ファイル形式にコンパイルされ、JDK 4 で使用しようとしたことを意味します。もちろん、JDK 4 は JDK 5 クラス ファイル形式をサポートできませんでした。古いバージョンの POI を試すことができると思います。または、JDK 5 を使用してください。

1、POI 3.5 から、JDK 1.5 が必要です。したがって、POI 3.4 を使用できます。この投稿を参照してください: Apache POI JDK バージョン.

2, 誰かがすでに POI 3.8 を JDK 1.4 に移行しています。JDK 1.4 に移行された Apache POI (3.8 final) を確認します。非公式バイナリの使用には注意してください。完全にテストされない場合があります。

使用されているクラス ファイル形式のメジャー バージョン番号:

  • J2SE 7 = 51 (0x33 hex)
  • J2SE 6.0 = 50 (0x32 hex)
  • J2SE 5.0 = 49 (0x31 hex)
  • JDK 1.4 = 48 (0x30 hex)
  • JDK 1.3 = 47 (0x2F hex)
  • JDK 1.2 = 46 (0x2E hex)
  • JDK 1.1 = 45 (0x2D hex)

参考:Javaクラスファイル

于 2013-03-12T03:39:38.897 に答える