Нужен ли мне stax-api-1.0.x в моем веб-приложении при использовании JDK 1.6?

В настоящее время я разрабатываю веб-приложение, которое использует Джерси для REST. Я использую maven, и оба stax-api-1.0.1 и 1.0.2 подключены к моей web-inf/lib. Я думал, что stax api был частью JDK1.6?

Почему эти JARS включены в мое веб-приложение?

Вот мой пом.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.glennbech</groupId>
    <artifactId>simplerest</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>Simplerest Maven Webapp. Very simple REST.</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <!-- Jersey for REST -->
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.9</version>
        </dependency>

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-json</artifactId>
            <version>1.9</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.17</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>simplerest</finalName>
        <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.25</version>
                <configuration>
                    <contextPath>/</contextPath>
                    <scanIntervalSeconds>5</scanIntervalSeconds>
                </configuration>
            </plugin>
        </plugins>

</build>


person Glenn Bech    schedule 10.09.2011    source источник
comment
Можете ли вы опубликовать свой pom.xml? Это зависит (хур хур) от ваших зависимостей.   -  person Paul Grime    schedule 10.09.2011
comment
Я разместил свой pom.xml, но на самом деле мой вопрос заключается в том, зачем мне нужны банки Stax-api в моей библиотеке web-inf. Я думал, что stax был частью JDK1.6?   -  person Glenn Bech    schedule 10.09.2011
comment
stax включен в Java 1.6, но Maven не знает, что вы развертываете свое приложение в среде выполнения Java 1.6. Ваши зависимости также не знают, какую среду выполнения вы используете. Фактически, они могли быть специально написаны для работы с Java 1.5 или даже более ранней версией.   -  person Paul Grime    schedule 10.09.2011
comment
Я понимаю. Спасибо. Итак, мне, вероятно, следует попытаться исправить это, используя исключения maven?   -  person Glenn Bech    schedule 10.09.2011
comment
Да, это было бы самое простое решение, имхо. Следующим шагом может быть создание разных профилей для разных целевых сред выполнения. Например. профиль 1.6 исключит stax и т. д., но профиль 1.5 оставит их.   -  person Paul Grime    schedule 10.09.2011
comment
@Paul Grime Не могли бы вы удалить комментарий и дать ответ на этот вопрос? Я был бы рад принять это.   -  person Glenn Bech    schedule 05.10.2011


Ответы (1)


Ответ на этот вопрос был дан в поле для комментариев к вопросу. Слава Полу Грайму.

stax включен в Java 1.6, но Maven не знает, что вы развертываете свое приложение в среде выполнения Java 1.6. Ваши зависимости также не знают, какую среду выполнения вы используете. Фактически, они могли быть специально написаны для работы с Java 1.5 или даже более ранней версией.

Да, [исправление с помощью исключений maven] было бы самым простым решением IMO. Следующим шагом может быть создание разных профилей для разных целевых сред выполнения. Например. профиль 1.6 исключит stax и т. д., но профиль 1.5 оставит их.

person Community    schedule 16.12.2011