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

时间:2009-08-23 18:53:49

标签: java xml stax

我的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;

时仍会出现以下错误
  

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

我需要做什么?

2 个答案:

答案 0 :(得分:25)

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

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

除非我弄错了,否则这两个实现最终都会使用 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添加到项目的构建路径就足够了。

答案 1 :(得分:17)

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

e.g。 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