0

これはフォローアップの質問ですApache POI ウェブサイトでこのキャプションを見つけました。

POI 3.5 以降では、JDK バージョン 1.5 以降が必要です。3.5 より前のバージョンには JDK 1.4+ が必要です

明らかに、それが Java プログラムをビルドできない理由です。現在の設定を使用して Ant でプロジェクトを正常にビルドできる回避策があるかどうかを知りたいだけです。

設定

  • アパッチ POI - 3.9
  • JDK - 1.4.2 (4.0)

アドバイス、ヒント、またはハックは大歓迎です。前もって感謝します!

4

3 に答える 3

2

Java 1.4 はかなり古く、2002 年にリリースされたので 10 年以上前です。通常のサポートは 2008 年に終了したので、Oracle の延長サポートにどれだけの金額を支払わなければならないかを考えると恐ろしいです... 可能であれば、その現金の一部をアップグレード プロジェクトに転用してください!

Java 1.4 で動作するApache POIの最後のバージョンは、2008 年 10 月にリリースされた POI 3.2 でした。そのソースおよびバイナリ パッケージは、Apache dist アーカイブから入手できます。今日の POI 3.2 の使用には 2 つの主な障害があります。1 つ目は、バイナリ ファイル形式しかサポートしていないことです。.xlsx、.pptx、.docx などの OOXML 形式はサポートしていません。これらのサポート (XSLF、XSSF、および XWPF 経由) は POI 3.5 でのみ導入され、最低限 Java 5 へのバンプが必要でした。2 つ目の問題は、 5 年間のバグ修正と新機能を逃してしまうことです。

古い JDK 上の新しいバージョンの Apache POI について誰かが尋ねてから数年が経ちました (他の誰もが、通常のサポートが利用可能なものにアップグレードすることに成功しました!)。人々が尋ねたとき、一般的な答えは、Retroweaverを試すことでした。これにより、JDK 1.4 で JDK 5 コードを読み込んで実行できるはずです。私は自分で試したことはありませんが、その答えを与えられた人々は幸せそうに見えたので、うまくいくと思います...

(POI 3.9 を JDK 1.4 で実行するように変換するのは大変な作業です。3.2 日以降、ほとんどの新しいコードはジェネリックを使用しており、多くの古いコードはジェネリックに移行することで大幅に整理され、簡素化されていると思います。奇妙な varag があり、日付フォーマッタに関する何かがベルを鳴らし、XML のすべてが含まれています。

于 2013-03-12T11:53:07.257 に答える
1

これは非常に難しいと思います。例を挙げてみましょう=>またはのPOI 3.9機能を使用しているとします。POI のバージョンを下げるか、バージョンを上げてアップグレードすることをお勧めします。Genericsvarargsjdk 1.5jdk 1.4jdk

編集: 以下のコードのように、maven の依存関係を追加して POI 3.2 のサポートを追加します。

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.2-FINAL</version>
</dependency>
于 2013-03-12T05:08:58.077 に答える