2012-08-26 21 views
2

我有一個情況我需要使用javax.xml圖書館和大多數這個來自Java的6 但是我的部署服務器的Java 5,在這裏我就不運行有控制權。添加Java 6庫的一部分到Java 5環境

那麼,這可能增加這些特定的庫項目,可以在Java 5的環境中運行?

我主要是利用它,我使用

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環境沒有問題,運行

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

代碼。

之間,我們用maven建築,所以任何圖書館必須進入的pom.xml

+0

那豈不是很多從[JAXB]起源(http://jaxb.java.net/)? –

回答

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

的Java SE 5自2009年10月以來沒有收到任何公開更新,甚至Java SE 6的迅速接近生命的盡頭。如果可能的話,我會推薦使用Java SE 7(並且目前正在開發Java SE 8)。