我的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
我需要做什么?
答案 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