2015-06-11 1 views
14

Я использую spring-boot и получил ошибку, аналогичную описанной here. Я добавил следующее в pom.xml.Maven - Suppress Переопределение управляемой версии предупреждения в Eclipse

<dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId><!--$NO-MVN-MAN-VER$--> 
     <version>1.1.0.Final</version> 
    </dependency> 

Я переопределение проверки-апи 1.0.0 зависимости, определенную в моем родительском pom.xml, путем Спринг загрузки, и это дает досадное предупреждение:

Overriding managed version 1.0.0.GA for validation-api

Как я могу постоянно подавлять это предупреждение в Eclipse? Он отображается как в моем pom.xml, так и в моем представлении о проблемах.

+0

Обновите версию в данной родительской папке. – khmarbaise

+0

Добавление комментария работает для меня. –

+0

Спасибо за ответы. RE обновляет родительский pom ... Я не владею родительским pom, он унаследован через Spring Boot. RE добавляет , который тоже не работает, но я не знаю, правильно ли я использовал его. Я также хотел бы узнать больше об этом, если это устранит предупреждение. –

ответ

19

Когда это предупреждение появляется, вы можете открыть на предупреждение меню Quick-Fix (Ctrl + 1) и выберите

Ignore this warning

Это добавит комментарий на версии линии, как:

<dependency> 
    <groupId>javax.validation</groupId> 
    <artifactId>validation-api</artifactId> 
    <version>1.1.0.Final</version><!--$NO-MVN-MAN-VER$--> 
</dependency> 

Ваша проблема заключается в том, что вы вручную добавили комментарий на неверную строку.

+0

Это сработало для удаления предупреждений, показанных в eclipse, но я все еще не могу построить проект. получение ошибки: 'Правило 0: org.commonjava.maven.enforcer.rule.EnforceManagedDepsRule не удалось с сообщением: Следующие 2 зависимостей НЕ используют управляемую версию' –

+2

Это плохой способ решить проблему, поскольку она может нарушить зависимости другой библиотеки. –

2

Введите версию, которая вам нужна в основном помпе.

Это предупреждение означает, что вы пытаетесь переопределить версию артефакта, которая определена в вашем основном (верхнем уровне) pom. Просто введите версию, которая вам нужна в основном помпе, и вам даже не нужно использовать <version /> в других потах для этой зависимости.

5

Поскольку проект использует spring-boot, более правильный ответ можно найти здесь:. https://stackoverflow.com/a/35385268/1568658

(И так как я получил тот же вопрос, и выше ответ также не очень полный, я хотел бы добавить ответ . здесь)

Причина выпуска:

spring-boot определила много зависимостей & своей версию, когда вы добавляете использовать пружинные ботинки в Паре nt, эти зависимости получили унаследованность, и переопределение одной из зависимостей с другой версией получит предупреждение, поскольку это может привести к нарушению зависимостей других библиотек.

Решение:

Определить свойство для этой зависимости между <properties></properties>, чтобы указать версию.

например

 <properties> 
      <reactor.version>2.5.0.BUILD-SNAPSHOT</reactor.version> 
     </properties> 

Как найти имя свойства:

  • Откройте ваш pom.xml в затмении.
  • ctrl + click на <parent> тег, чтобы открыть POM родителя, и нужно нажать дважды, чтобы обратно, наконец, получить POM с артефактом, как spring-boot-dependencies
  • После того, как у вас открыто, что п, поиск вашей зависимости, е.g servlet-api, и вы можете увидеть версию по умолчанию.

Там находится документ с весны объясняет это лучше: https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot

-1

полезно! Я разрешаю проблему. Поскольку модуль pom-файла объявляет 9.2.12.M0, а spring-boot относится к V9.3. Я перезаписываю V9.2 в родительском файле pom. follow by "Eric Wang"

+0

весна-загрузка использовать версию по умолчанию, который может быть объявлен в файле как п элемент \t \t <зависимости> \t \t \t \t \t \t \t org.springframework.boot \t \t \t \t весна-загрузки-зависимостей \t \t \t \t 1.5.1.RELEASE \t \t \t \t ПОМ \t \t \t \t импорт \t \t \t \t \t \t, вы должны объявить свою собственную версию, чтобы перезаписать версия по умолчанию. –

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