2016-10-16 4 views
4

Как видно, here, зависимость Axis 2 Maven имеет несколько версий выше версии 1.6.3. Тем не менее, все они не загружаются при создании (на самом деле, когда я редактирую & save my pom.xml) в Eclipse. У меня есть проект java 8 и версия 1.5.4 - 1.6.3. когда я добавляю их в свой pom.xml, они автоматически появляются в моих зависимостях maven. когда я пробую любую версию от 1.6.4 - 1.7.3, я получаю недостающую ошибку артефакта в моем pom.xml, например, они не могут быть найдены в центральном репозитории.Maven не может найти Axis2 1.6.4 или выше

enter image description here

enter image description here

Я Использование Eclipse Марса встроенный Maven 3.3. Может быть, это связано с устаревшим репозиторием, который не содержит версий ne? Как я могу подключить его к другому репозиторию (я проверил настройки Preferences/Maven, чтобы установить это свойство, но не нашел его). Кроме того, что было бы хорошим «центральным» хранилищем?

ответ

7

Эта ошибка не как вы уже поняли:

Пропустите мыши над красным подчеркиванием (или перейдите на вкладку «маркеры») и прочитать сообщение об ошибке:

Missing artifact org.apache.axis2:axis2:jar:1.6.4 

понимают, что Maven пытаемся загрузить такой артефакт с этими координатами: идентификатор_группы = org.apache.axis2, артефакт = axis2, версия = 1.6.4, типа = баночка

... и это случается, что, начиная с версии 1.6. 4 на, артефакт axis2 больше не является JAR, а POM. Таким образом, вы должны просто переопределить тип по умолчанию координат:

<dependency> 
     <groupId>org.apache.axis2</groupId> 
     <artifactId>axis2</artifactId> 
     <version>1.6.4</version> 
     <type>pom</type> 
    </dependency> 

(Или же объявить еще более конкретный артефакт с банкой упаковки: axis2-ядра, axis2-ADB и т.д.)

Предложение: Совершите посмотрите на это search в Центральном репозитории и поймите, как некоторые зависимости имеют артефакт JAR, а некоторые другие имеют POM.

+1

Так по умолчанию maven пытается загрузить банку. Почему не достаточно умный разум, чтобы понять, что, если банку нет, он должен попробовать только другую альтернативу, а именно пом? – user1884155

+0

Хорошо, что я не знаю. Полагаю, это строгое поведение. Maven ожидает, что программист узнает, что он должен скачать. –

Смежные вопросы