2010-12-01 40 views
1

Ceci est mon haricot définir dans spring.xmlComment référencer la classe de fichier jar externe spring.xml

<bean id="hello" class="test.Hello" /> 

exporter classe Hello-hello.jar et de la place à c:\customjar.
Et définir ce dossier être WINDOWS CLASSPATH.

Ceci est une sortie

Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: 
Cannot find class [test.Hello] for bean with name 'hello' defined in class path resource [spring.xml]; 
nested exception is java.lang.ClassNotFoundException: test.Hello 

pour le fichier xml que je peux faire référence à classpath en utilisant quelque chose comme ça

<import resource="classpath:xxxxxx.xml"/> 

Mais il ne fonctionne pas dans mon cas.


EDIT

Cette classe est sourcecode.

package test; 

public class Hello { 
    public void someMethod() { 
     // do something here 
    } 
} 

et ceci est un paramètre de chemin de classe.

%CLASSPATH% = XXXXXXXX;c:\customjar\hello.jar; 
+0

Que devrait être bon pour? – Ralph

+0

Spring n'a pas de gestion de chemins de classes spéciale. C'est un problème de base des classes, et rien à voir avec Spring. – skaffman

+0

ne doit pas "% CLASSPATH% = XXXXXXXXXX; c: \ customjar;" être "CLASSPATH =% CLASSPATH%; c: \ customjar \ hello.jar;" –

Répondre

1

Le ressort peut charger des classes à partir de différents pots, sans aucune configuration supplémentaire. - Pour moi, il semble que la classe Hello ne soit vraiment pas dans votre application en cours d'exécution.

+0

Conseil: lorsque vous modifiez les variables d'environnement dans Windows via l'interface graphique, cette modification n'est pas appliquée aux programmes en cours d'exécution (et shells (CMD)). Dans ce cas, vous devez redémarrer le shell de ligne de commande à nouveau. – Ralph

+0

J'essaie de redémarrer après avoir défini le classpath mais cela ne fonctionne toujours pas. Maintenant, j'ajoute le code source et le paramètre classpath ci-dessus pour plus d'informations. – diewland