2011-10-13 5 views
1

J'ai une dépendance maven avec une portée définie sur runtime et à partir d'un autre module, j'essaye de charger une classe en utilisant Class.forName ("com.example.something.full.path") et je vois ClassNotFoundException. J'ai le module B dépendant du module A. J'essaye de charger une classe de A dans B. La classe où j'essaye de faire Class.forName est initialisée using le ressort. Je peux voir que le pot (module A) est dans le classpath de B, n'est-ce pas suffisant?Charger dynamiquement la classe à partir de la dépendance maven

Ajout plus de détails:

Je suis en train de le tester en utilisant Eclipse. En fin de compte, il doit fonctionner dans le cadre d'une webapp ou d'un processus java autonome.

EDIT:

Désolé, je ne suis pas clair dans ma description du problème. J'essayais de charger dynamiquement une classe interne. Quand j'ai fait Class.forName ("com.example.myclass $ innerclass") cela a fonctionné.

+0

Nous avons besoin de plus de détails pour vous aider. Essayez-vous d'exécuter ce test dans un IDE? Si oui lequel? – Perception

+0

"D'un autre module"? Vous voulez dire un module différent d'où vous avez défini la dépendance? Cela ne fonctionnera pas trop bien. –

+0

@RyanStewart J'ai le module B dépendant du module A. J'essaie de charger une classe de A dans B. – Prasanna

Répondre

0

La meilleure façon de vérifier votre config Maven est d'exécuter votre classe principale avec Maven:

mvn compile exec:java -D exec.mainClass=<your main class> 

qui vous dira vraiment si vous avez un problème avec votre dépendance. Si vous obtenez un CNFE comme ça, alors presque certainement il n'y a pas de classe avec le nom que vous avez spécifié dans le pot que vous dépendez.