M2E Не удалось загрузить все зависимости

Я использую Spring Tool Suite 3.6.3 и плагин M2E eclipse 1.4.1, когда я открыл файл POM из одного из проектов, я заметил, что не все зависимости добавляются, я добавил конфигурацию depnedecy для jaxws-rt с версией 2.2.8, который имеет много зависимостей следующим образом

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.xml.ws</groupId>
        <artifactId>jaxws-api</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.xml.soap</groupId>
        <artifactId>javax.xml.soap-api</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.jws</groupId>
        <artifactId>jsr181-api</artifactId>
    </dependency>
    <!-- Provided dependencies -->
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>policy</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.gmbal</groupId>
        <artifactId>gmbal-api-only</artifactId>
    </dependency>
    <dependency>
        <groupId>org.jvnet.staxex</groupId>
        <artifactId>stax-ex</artifactId>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.stream.buffer</groupId>
        <artifactId>streambuffer</artifactId>
    </dependency>
    <dependency>
        <groupId>org.jvnet.mimepull</groupId>
        <artifactId>mimepull</artifactId>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.fastinfoset</groupId>
        <artifactId>FastInfoset</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.ha</groupId>
        <artifactId>ha-api</artifactId>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.messaging.saaj</groupId>
        <artifactId>saaj-impl</artifactId>
    </dependency>

    <dependency>
        <artifactId>woodstox-core-asl</artifactId>
        <groupId>org.codehaus.woodstox</groupId>
    </dependency>
    <dependency>
        <groupId>org.codehaus.woodstox</groupId>
        <artifactId>stax2-api</artifactId>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.sun.org.apache.xml.internal</groupId>
        <artifactId>resolver</artifactId>
    </dependency>

В STS, когда я открываю POM и перехожу к иерархии зависимостей, я не могу видеть зависимости политики, преобразователя и потокового буфера.

Но когда я запускаю mvn clean install из командной строки, все вышеупомянутые банки добавляются в файл .war.

Я думаю, что есть проблема с m2e + STS, не знаю, почему m2e не может получить недостающие зависимости.


person Yogesh Shinde    schedule 30.12.2014    source источник
comment
оба указывают на разные settings.xml ?   -  person jmj    schedule 30.12.2014
comment
В таких ситуациях я обычно стираю свой локальный репозиторий Maven и после этого перезапускаю STS, делаю чистую сборку проекта и, следовательно, позволяю m2e (или Maven) снова загружать все необходимые зависимости. Это решает эти проблемы во многих случаях (по крайней мере, для меня). Если вы столкнулись с ошибкой в ​​m2e, вы также можете попробовать последнюю версию STS, которая включает последнюю версию выпуска m2e.   -  person Martin Lippert    schedule 01.01.2015
comment
Спасибо Джигару и Мартину за комментарии....   -  person Yogesh Shinde    schedule 02.01.2015
comment
Я удалил m2e для отсутствующих библиотек, но они все еще не выводятся на eclipse tomcat, однако они находятся в целевой папке и файле war. Я не использую STS, есть идеи по исправлению?   -  person abdelrahman-sinno    schedule 13.11.2015
comment
Даже установка STS не решила эту проблему!   -  person abdelrahman-sinno    schedule 13.11.2015
comment
@united-expression Я запутался, в чем именно проблема? Некоторые зависимости в POM provided (согласно комментарию), поэтому они не включены в войну, это нормально. Вы должны создать еще один вопрос с вашим POM, потому что это кажется другой проблемой.   -  person Tunaki    schedule 13.11.2015
comment
Предоставляется только API сервлета, это нормально. Мой случай аналогичен, я завишу от «jaxws-rt 2.2.8», и его jar выводятся в целевую папку; однако в eclipse tomcat отсутствуют jaxb-api, jaxb-core и impl (среди многих других), вместо этого у меня есть «jaxb-api-2.2.4» и «jaxws-api-2.2.8.jar» (вместо jaxws -апи-2.2.9.jar). ОЧЕНЬ СТРАННО, когда я меняю зависимость на jaxws-rt 2.2.7, все банки в порядке, за исключением того, что мое приложение не будет работать с этой библиотекой. Теперь я могу использовать войну, и она развертывается на внешнем коте.   -  person abdelrahman-sinno    schedule 13.11.2015


Ответы (1)


я нашел решение

На машине, на которой мы столкнулись с этой проблемой, исполняемый файл java 1.6 был скопирован в папку system32, и когда мы удалили эти файлы и обновили путь для использования jdk 1.7, проблема была решена....

Я пытался найти совместимую версию java для m2e 1.4.1, но ничего не нашел, для новой версии m2e, т.е. 1.5, указана требуемая версия java.

person Yogesh Shinde    schedule 01.01.2015
comment
Я не понимаю твоего решения. У меня есть java.exe в windows/system32, но что это меняет? Версия файла 7, когда я проверяю его свойства. Прошу разъяснить, что мне делать. - person abdelrahman-sinno; 13.11.2015
comment
Кто-то нашел альтернативный ответ? Я также сталкиваюсь с той же проблемой с Eclipse Mars, java 8 в Windows 8. - person nmy; 07.03.2016