将Java 6 Library的一部分添加到Java 5环境中

时间:2012-08-26 09:10:32

标签: java xml java-6 java-5

我遇到需要使用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

1 个答案:

答案 0 :(得分:2)

JAXB (JSR-222)中引入了

StAX (JSR-173) Java EE 5,并且与Java SE 5(发布这些规范时的JDK版本)完全兼容。当然,这些标准的实现是Java SE 6的一部分。

java.net存储库

您可以从java.net存储库

获取标准的公共API
    <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之外,您还需要实现。每个规范都有多个实现。下面是一个POM文件的链接,该文件作为JAXB实现引入EclipseLink MOXy(注意:我是MOXy的主管)。

关于Java SE 5

自2009年10月以来,Java SE 5尚未收到任何公开更新,即使Java SE 6正在快速接近生命周期。如果可能,我建议使用Java SE 7(目前正在开发Java SE 8)。