Erreur lors de la création de bean de type java.io.Le fichier [Ambigu constructeur types d'argument]
J'ai pas le printemps suivant, le haricot de configuration
<bean id="fileBean" class="java.io.File">
<constructor-arg type="java.lang.String"
value="$prop{file.path.property}" />
</bean>
J'obtiens l'erreur suivante
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?
Il n'y a qu'un seul constructeur pour java.io.Fichier avec un seul paramètre de Chaîne donc je ne sais pas pourquoi c'est ambigu. Toute aide appréciée.
OriginalL'auteur cyber-monk | 2011-09-06
Vous devez vous connecter pour publier un commentaire.
Trouvé ce lien qui explique ce qui se passe. Il s'avère que printemps va correspondre à des arguments par type si il n'y a pas d'argument index spécifié. Dans ce cas, le printemps prend mon seul argument de Chaîne et le transmet à java.io.Fichier constructeur qui prend DEUX cordes. Ceci peut être corrigé en spécifiant le constructeur-arg index.
OriginalL'auteur cyber-monk
Juste mes deux cents ici: j'ai eu exactement le même problème aujourd'hui. J'ai une unité de test pour vérifier si le Printemps peut lire mon XML de config et de générer de tout le nécessaire de haricots. Il n'était pas parce que j'étais édition le mauvais fichier XML. J'ai été de l'édition d'un "dist" version de l'Ant, au lieu de la version correcte de la source de contrôle.
Leçon apprise: Lire ceux qui Ressort des messages d'exception (avec fichier XML chemins) de très près!
OriginalL'auteur kevinarpe