2011-09-07 30 views
17

Gerçekten basit bir Java Struts projesi geliştirmek için MyEclipse kullanıyorum. org.apache.commons.lang'da StringUtils sınıfını kullanmak istediğim kadar her şey iyi çalışıyordu. MyEclipse içinde ben commons-lang-2.4 benim yapı yoluna için Jar dosyası eklendiMaven paket hatası: org.apache.commons-lang mevcut değil (Java)

import org.apache.commons.lang.StringUtils; 

gibi paket ithal. Her şey yolunda ve iyi çalışıyor ve Intellisense'i alıyorum ve Eclipse'de veya herhangi bir yerde hata yok. Bir mvn clean package yapmaya giderken Şimdi,

The package org.apache.commons.lang does not exist

benim savaş/pom.xml dosyası teslim belirten bir hata olsun ve ben var bir bağımlılık

<dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpclient</artifactId> 
     <version>4.0.1</version> 
    </dependency> 

    <dependency> 
     <groupId>commons-lang</groupId> 
     <artifactId>commons-lang</artifactId> 
     <version>2.4</version> 
    </dependency> 

</dependencies> 

olarak ilan

Araştırmamdan, Maven'in paketi indirmesi ve mevcut değilse yerel depomuza yüklemesi gerektiğini düşündüm. Depoyu kontrol ettim ve kavanoz dosyası oradaydı. Ben jar dosyası bozuk olması gerektiğini düşündüm böylece commons-lang taze bir indirme almak için commons-lang klasörünü sildim. Şimdi, burası, yerel depodan sildikten ve bir mvn clean package çalıştırdıktan sonra, bu noktaya basıyor ve dışarı gidiyor ve commons-lang-2.1 .pom ve jar'ı indiriyor (pom.xml'in 2,4 olmasına rağmen) AUT hala paketinin org.apache.commonslang olmadığını söyleyen bir derleme hatası verir.

Maven'i çok uzun zamandır kullanmıyorum, dolayısıyla bunu düzeltmek için nasıl gideceğimi bilmiyorum. Bir şey mi eksik? Bağımlılığı başka bir yerde başka bir pom.xml dosyasına eklemem gerekir mi?

+0

İlk olarak, commons-lang'yi depoda sildim ve işe yaradı. – vanduc1102

+0

Dosya bozulmalarının olup olmadığı konusunda emin değilim, ancak bağımlılıkları @ TomaszNurkiewicz'in yöntemi ile doğruladıktan sonra, testleri gerçekleştirdiğimde yerel m2 depomuzdaki jarleri silerek bu sorunu çözebiliyordum. – eebbesen

cevap

22

aşağıdaki komutları çalıştırmayı deneyin ve çıkışı incelemek:

$ mvn dependency:tree 
$ mvn help:effective-pom 

Bak commons-lang için belki bir şey dışlayan veya bağımlılık geçersiz kılma gibi dikkatinizi çekecektir. Ayrıca geçerli:

$ mvn dependency:copy-dependencies 

sizin target için commons-lang JAR kopyalama?

+5

Bu bir demet yardımcı oldular! Commons-lang 2.4 için jar pom.xml'ye bir referans ekledim ve şimdi çalışıyor. Temiz paketi yapmadan önce komut istemini kapattım ve tekrar açtım ve ardından kavanozların doğru sürümlerini indirdim ve başarıyla oluşturdum. Bu soruyu saatler önce göndermiş olmalı. Teşekkürler – Rondel

+0

Burada hangi komut isteminden bahsediyoruz? Windows 8'de netbeans kullanıyorum – RedBirdISU

-6

src/main/java'da bir .auth klasörü olacaktır. Klasörü açın, AuthController.java dosyasına gidin ve import io.swagger satırını silin. Tekrar başlat.