使用JDK 1.6时,我的Web应用程序中是否需要stax-api-1.0.x?

我目前正在开发一个使用Jersey for REST的Web应用程序。 我使用maven,并且stax-api-1.0.1和1.0.2都被拉入我的web-inf / lib。 我认为stax api是JDK1.6的aprt?

为什么这些JARS包含在我的Web应用程序中?

这是我的pom.xml

 4.0.0 com.glennbech simplerest war 1.0-SNAPSHOT Simplerest Maven Webapp. Very simple REST. http://maven.apache.org    com.sun.jersey jersey-server 1.9   com.sun.jersey jersey-json 1.9   mysql mysql-connector-java 5.1.17    simplerest   org.mortbay.jetty maven-jetty-plugin 6.1.25  / 5     

这个问题在问题的评论栏中得到了回答。 感谢Paul Grime。

stax确实包含在Java 1.6中,但Maven并不知道您正在将应用程序部署到Java 1.6运行时。 您的依赖项也不知道您正在使用的运行时。 事实上,他们可能已经专门编写自己使用Java 1.5甚至更早。

是的,[使用maven排除修复它]将是IMO最简单的解决方案。 下一步可能是为不同的目标运行时创建不同的配置文件。 例如,“1.6”配置文件将排除stax等,但“1.5”配置文件将保留它们。

  the.thing.that transitively-imports the.stax.version    stax-api javax.xml.stream   stax-api stax