2015-06-11 11 views
14

spring-boot kullanıyorum ve here açıklanana benzer bir hatayla karşılaştım. Aşağıdakileri pom.xml dosyasına ekledim. Ben nasılMaven - Bastırma Eclipse'de yönetilen sürüm uyarısını geçersiz kılma

Overriding managed version 1.0.0.GA for validation-api

:

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

Spring çizme yoluyla, benim ana pom.xml tanımlanan doğrulama-api 1.0.0 bağımlılık ağır basan am ve bu sinir bozucu uyarı mesajı verir Eclipse'de bu uyarı mesajını kalıcı olarak bastırmak? Hem benim pom.xml'de hem de sorunlarımın görünümünde görünür.

+0

Versiyonu verilen ana pompada güncelleyin. – khmarbaise

+0

Yorumun eklenmesi benim için çalışıyor. –

+0

Yanıtlar için teşekkürler. Ana pompayı güncellemeye devam et ... Üst pompanın sahibi değil, Spring Boot ile miras alınıyor. RE ekleyen ya da işe yaramadı, ama doğru kullanıp kullanmadığımı bilmiyorum. Ayrıca uyarıyı temizlerse, daha fazlasını bilmek isterim. –

cevap

19

o uyarı yukarı gösterdiğinde, uyarı Hızlı-Fix menüsünü açabilirsiniz (Ctrl + 1) ve bu gibi sürüm hattında yorumunu katacak

Ignore this warning

belirleyin:

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

Sorununuz, yanlış satıra bu yorumu el ile eklediniz.

+0

Bu, tutulmada gösterilen uyarıyı kaldırmak için çalıştı ancak yine de projeyi oluşturamıyorum. hatayı alma: 'Kural 0: org.commonjava.maven.enforcer.rule.EnforceManagedDepsRule iletiyle başarısız oldu: Aşağıdaki 2 bağımlılık bir yönetilen sürüm kullanmıyor' –

+2

Bu sorunu çözmek için kötü bir yoldur, çünkü bozuk olabilir diğer kütüphanenin bağımlılığı. –

2

Ana pompasında ihtiyacınız olan sürüme girin.

Bu uyarı, ana (üst düzey) pompanızda tanımlanan artefakt sürümünü geçersiz kılmaya çalıştığınız anlamına gelir. Sadece ana pompasında ihtiyacınız olan versiyonu girin ve bu bağımlılık için <version />'u diğer pompalarda kullanmanız gerekmez.

5

proje spring-boot kullandığından, daha düzgün bir cevap burada bulunamadı. Ben aynı sorunu var ve yukarıdaki cevabı da çok tam değil çünkü https://stackoverflow.com/a/35385268/1568658

(Ve ben bir cevap eklersiniz . sorunun burada)

Sebep:

spring-boot Eğer pare olarak kullanılması yay çizme eklerken, pek çok bağımlılık & onların versiyonunu tanımlamıştır nt, bu bağımlılıklar devralınır ve bağımlılıklardan birini farklı bir sürümle geçersiz kılar, diğer kütüphanelerin bağımlılıklarını bozabileceğinden, uyarıyı alır.

Çözüm:

, <properties></properties> arasındaki bağımlılık için bir mülk tanımlayın versiyonunu belirtmek için.

örn özellik adını nasıl bulunur

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

:

  • Tutulma içinde pom.xml açın. ebeveynin pom, son olarak spring-boot-dependencies
  • olarak artifactId ile pom almak için iki kez ters tıklamanız gerekir etmek <parent> etiketi üzerinde
  • ctrl + click sahip açık olduğunu pom, sizin bağımlılık arayışı, e kere.g servlet-api ve varsayılan sürümü görebilirsiniz.

bahar bir belge vardır daha iyi açıklıyor: https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot

-1

yararlı! Sorunu çözüyorum. Modül pom dosyası 9.2.12.M0 bildirirken, yay önyükleme V9.3'e başvurur. Üst basamağındaki V9.2'nin üzerine yazdım. "Eric Wang" takibi

+0

yay önyükleme unsuru olarak pom dosyasında ilan edilebilir varsayılan bir sürümünü kullanın \t \t \t \t \t \t \t \t \t org.springframework.boot \t \t \t \t yay çizme-bağımlılıkları \t \t \t \t 1.5.1.RELEASE \t \t \t \t pom \t \t \t \t ithalat \t \t \t \t \t \t, kendi versiyonunu ilan etmeli üzerine yazmak varsayılan sürüm. –