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

Jas*_*n S 17 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

我需要做什么?

Vin*_*lds 25

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

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

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

  • 您确定Eclipse使用的是与您期望的相同的JRE吗?把东西放在lib/ext中有点脆弱.它应该在标准类路径上正常. (2认同)

Bri*_*new 17

我可以指向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
Run Code Online (Sandbox Code Playgroud)