哪个.jar文件有javax.xml.stream。*?

我的Mac运行Java 1.5再次出现问题….我在哪里获得一个包含javax.xml.stream.XMLInputFactory的.jar文件? 我想使用StAX但不知道如何正确设置它。


我似乎无法得到这个设置。 我现在已经下载了jaxp-api.jar,jsr173_1.0_api.jar,sjsxp.jar,stax-api-1.0.1.jar,stax2-api-3.0.1.jar和woodstox-core-asl-4.0。 5.jar; 把它们全部放到我的java / lib / ext目录中,确保它们在我的eclipse构建路径上,删除了Mac com.apple.quarantine扩展属性,在.jar文件上做了一个“chmod a + x”,然后我尝试import javax.xml.stream.XMLInputFactory;仍会出现以下错误import javax.xml.stream.XMLInputFactory;

访问限制:由于对所需库的限制而无法访问XMLInputFactory类型/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/jsr173_1.0_api.jar

我需要做什么?

StAX不是Java 5的一部分; 但是,你会在Java 6中找到它。 对于Java 5,您需要下载StAX实现并将其放在类路径中。

Woodstox就是这样一种实现方式。 您还可以使用已进入Java SE 6的Sun Java StAX XML处理器 。

除非我弄错了,否则这两个实现最终都将使用jsr173_api.jar ,您可以在其中找到javax.xml.stream包。

更新:

Woodstox文档将引用您下载StAX 1.0.1 API jar (当您使用标准StAX API时需要); Woodstox中的StAX2 API jar不包含javax.xml.stream包(尽管在运行时需要两个JAR)。 Sun实现依赖于stax-utils项目。

更新2

安装JSXP

SJSXP的下载文件区域看起来有点奇怪,因为你有一个类文件,而不是构建JAR。 但是,获取SJSXP JAR所需的只是执行类文件,该文件解压缩分发。

获取StAX API JAR

可以从StAX实用程序项目获取StAX API jar(jsr173_api.jar等)。 它需要与sjsxp jar位于同一目录中。

在Eclipse中使用JAR

没有必要将JAR添加到JDK的lib / ext。 将两个JAR添加到项目的构建路径就足够了。

我可以指向findjar.com ,它允许您输入一个类名并确定需要哪个jar。

例如XMLInputFactory产生

 jsr173_1.0_api.jar jsr173_api.jar stax-api-1.0.1.jar stax-api-1.0.1.jar stax-api-1.0.jar groovysoap-all-jsr06-0.1.jar