2

javax.xml ライブラリを使用する必要がある状況があり、その大部分は Java 6 からのものです。ただし、私のデプロイメント サーバーは、制御できない Java 5 で実行されます。

これらの特定のライブラリをプロジェクトに追加して、Java 5 環境で実行することは可能ですか?

主に使用しています

import javax.xml.bind.*;
import javax.xml.stream.*;
import javax.xml.transform.stream.StreamSource;

私が使用しているコード

    XMLInputFactory xif = XMLInputFactory.newFactory();
    StreamSource xml = new StreamSource("input.xml");
    XMLStreamReader xsr = xif.createXMLStreamReader(xml);
    while(xsr.hasNext()) {
        if(xsr.isStartElement() && xsr.getLocalName().equals("StandardError")) {
            break;
        }
        xsr.next();
    }

私のアプリケーションがJava 5環境で問題なく実行できるように、これを回避する方法を教えてください。

その間、ビルドに maven を使用するため、すべてのライブラリを pom.xml に入れる必要があります。

4

1 に答える 1

2

JAXB (JSR-222)およびStAX (JSR-173)はJava EE 5で導入され、Java SE 5 (これらの仕様がリリースされたときの JDK のバージョン) と完全に互換性があります。もちろん、これらの標準の実装は Java SE 6 の一部として含まれていました。

java.net リポジトリ

標準のパブリック API は、java.net リポジトリから取得できます。

    <repository>
        <id>java.net</id>
        <name>java.net Maven Repository</name>
        <url>https://maven-repository.dev.java.net/nonav/repository</url>
    </repository>

以下は、JAXB パブリック API の最新バージョンの依存関係です。

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.2</version>
    </dependency>

実装

公開 API に加えて、実装が必要になります。各仕様には複数の実装があります。以下は、 EclipseLink MOXyを JAXB 実装として取り込むPOM ファイルへのリンクです (注: 私は MOXy リーダーです)。

Java SE 5 について

Java SE 5 は、2009 年 10 月以降、公式のアップデートを受け取っていません。Java SE 6 でさえ、サポート終了が急速に近づいています。可能であれば、Java SE 7 を使用することをお勧めします (Java SE 8 は現在開発中です)。

于 2012-08-26T11:12:18.147 に答える