Do I need stax-api-1.0.x in my web app when using JDK 1.6? Do I need stax-api-1.0.x in my web app when using JDK 1.6? xml xml

Do I need stax-api-1.0.x in my web app when using JDK 1.6?


This question was answered in the comment field of the question. Kudos to Paul Grime.

stax does come included in Java 1.6, but Maven does not know you are deploying your app to a Java 1.6 runtime. Nor do your dependencies know what runtime you are using. In fact, they may have been specifically written themselves to work with Java 1.5 or even earlier.

Yeah, [fixing it using maven exclusions] would be the easiest solution IMO. A next step could be to create different profiles for different target runtimes. E.g. a "1.6" profile would exclude stax etc, but a "1.5" profile would leave them in.


<dependency>  <groupId>the.thing.that</groupId>  <artifactId>transitively-imports</artifactId>  <version>the.stax.version</version>  <exclusions>    <!--  STAX comes with Java 1.6 -->    <exclusion>        <artifactId>stax-api</artifactId>        <groupId>javax.xml.stream</groupId>    </exclusion>    <exclusion>        <artifactId>stax-api</artifactId>        <groupId>stax</groupId>    </exclusion>  </exclusions><dependency>