maven spring - Impossible de trouver la déclaration de l'élément 'haricots'
J'ai un projet pour le printemps construit avec l'utilisation de maven (emballé que le pot) (dépendances sont copiés dans un répertoire distinct et ajouté au classpath)
Je veux l'exécuter en tant que java-jar
Le problème est que quand je le lance j'obtiens:
Causés par: org.xml.sax.SAXParseException: cvc-elt.1: Ne peut pas trouver la déclaration
de l'élément "haricots".
Cela se produit parce que le printemps.les schémas et le printemps.les gestionnaires sont situés dans quelques bocaux à savoir: le printemps-les haricots, etc.
Est-il un moyen de le résoudre, en supposant que je ne veux pas utiliser de l'ombre plugin pour déballer toutes les dépendances et les concaténer le contenu de printemps.les schémas et le printemps.les gestionnaires?
Je voudrais aussi afin d'éviter de sauvegarder les fichiers xsd dans mon projet et de l'évolution des schemaLocation à point à mon emplacement.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:camel="http://camel.apache.org/schema/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<camel:camelContext>
<camel:routeBuilder ref="fakeRouteBuilder"/>
</camel:camelContext>
<bean id="fakeRouteBuilder" class="<className>" />
</beans>
source d'informationauteur JJT
Vous devez vous connecter pour publier un commentaire.
Je sais que 2 situations où vous pouvez avoir ce problème
xsi:schemaLocation=" http://www.springframework.org/schema/beans spring-beans-2.5.xsd ..."
Je pense que le XSD serait une partie du printemps bocal, et donc ne devrait pas être question.
Printemps pots contiennent des META-INF/spring.les gestionnaires et les META-INF/spring.les schémas de fichiers. Pour éviter d'écraser les fichiers lors de l'agrégation des dépendances d'un jar, vous pouvez utiliser maven Ombre plugin:
http://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#AppendingTransformer
Eu le même problème parce que j'étais derrière un proxy. J'ai été l'exécution d'une application Spring MVC sous Tomcat 6. Juste ajouté les lignes suivantes au début de mon catalina.chauve-souris fichier et qui a résolu mon problème:
J'ai été en mesure de résoudre un problème similaire en effaçant le fichier xsd de ma télécommande mise en cache des ressources, Fenêtre > Préférences > Général > Connexion Réseau > Cache
Il y a un
http://
trop dans votre XSD déclaration. Essayez ceci:(la vôtre a été
http://http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
)J'ai obtenu une erreur lors de mon XSD url pointant vers un autre emplacement qui est différent de XSD emplacement de la définition dans le fichier jar. Par exemple,
spring-beans-3.0.xsd
au lieu despring-beans-2.5.xsd
vice-versa.Aussi vous pouvez utiliser les conseils de ici pour résoudre ce problème
J'ai eu exactement le même problème et je pense que c'est causé par 2 raisons principales:
META-INF/INDEX.LIST
fichier généré par le maven-assembly-plugin peut également être un coupable.Cause: un bug de Java: "ClassLoader.getResources() renvoie seulement 1 par exemple lors de l'utilisation de pot d'indexation"
Solution: désactiver l'indexation dans le cadre de l'assemblée descripteur:
Ressources:
Printemps JIRA SPR-5705
JDK-6957241 chargeur de classe.getResources() renvoie seulement 1 par exemple lors de l'utilisation de pot d'indexation