2011-09-06 17 views
14

aşağıdaki hatayıHata tipi java.io.File [Belirsiz yapıcı argüman türleri]

org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'fileBean' defined in class path resource [context.xml]: 
Unsatisfied dependency expressed through constructor argument with index 0 of type 
[java.net.URI]: Ambiguous constructor argument types - did you specify the correct 
bean references as constructor arguments? 

alıyorum

<bean id="fileBean" class="java.io.File"> 
    <constructor-arg type="java.lang.String" 
        value="$prop{file.path.property}" />  
    </bean> 

sonraki bahar fasulye yapılandırma yoktur gelmiş olan fasulye oluştururken Sadece tek bir String parametresi ile java.io.File için bir kurucu, bu yüzden neden bu belirsiz emin değilim. Herhangi bir yardım takdir edildi.

cevap

26

Ne olduğunu açıklayan this link bulundu. belirtilmiş bağımsız değişken belirtilmemişse, yayının bağımsız değişkenlerle eşleşeceği ortaya çıkıyor. Bu durumda, yayım tek bir String argümanı alır ve TWO dizgileri alan dosya yapıcıya aktarır. Bu constructor-arg indeksi belirterek düzeltilebilir.

<bean id="fileBean" class="java.io.File"> 
    <constructor-arg index="0" 
        type="java.lang.String" 
        value="$prop{file.path.property}" />  
</bean> 
4

Sadece iki sentim burada: Bugün aynı problemi yaşadım. Spring'in XML konfigürasyonumu okuyabildiğini ve gerekli tüm fasulyeleri üretip üretemeyeceğini kontrol etmek için bir birim testim var. Hatalıydı çünkü yanlış XML dosyasını düzenliyordum. Kaynak denetiminden doğru sürüm yerine bir Ant derlemesinden "dist" bir sürüm düzenliyordum.

Ders öğrenildi: Bu Bahar istisna mesajlarını (XML dosya yollarıyla) çok yakından okuyun!

+0

Aynı şey benim için de oldu, istisna düzenleme yaptığım başka bir xml dosyasında olduğu ortaya çıktı. –

İlgili konular