Ich habe den folgenden Code.Spring 4.2 ApplicationContext NoClassDefFound Fehler
// MessagePrinter.java
public class MessagePrinter {
private String message;
public MessagePrinter(String input){
message = input;
}
}
// ApplicationConfig.java
@Configuration
public class ApplicationConfig {
@Bean
public MessagePrinter getMessagePrinter(){
return new MessagePrinter("Bean");
}
}
// Application.java
public class Application {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfig.class);
}
}
Die Störung, die ich erhalte, wenn ich Anwendung in Eclipse ausgeführt ist java.lang.NoClassDefFoundError
. Ich bin dabei, von cplusplus nach Java zu migrieren und brandneuer in den Frühjahrsrahmen. All die Dokumentation, die ich online gelesen habe, sagt mir, dass dieser Code gut funktionieren sollte. Mein Ziel ist es, die MessagePrinter-Klasse aus dem ApplicationContext zu extrahieren, der in main erstellt wird. Die erste Anweisung selbst verursacht jedoch den Absturz des Codes. Irgendwelche Hinweise? Ich bin ein absoluter Java-Noob. Also zögern Sie nicht, auf das Offensichtlichste hinzuweisen.
ich verwende Frühling 4.2.7
Die tatsächliche Fehlermeldung von Eclipse unten.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:159)
at org.springframework.context.support.GenericApplicationContext.<init>(GenericApplicationContext.java:102)
at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:60)
at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:82)
at hello.Application.main(Application.java:8)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 5 more
hinzugefügt haben, die erforderlichen Federbezogenen Gläser in Classpath? –
Ich habe die Spring-4.2.7-Jars als externe Jars im Build-Pfad für die Eclipse-Projekteigenschaften hinzugefügt. Ist es das was du meinst? Ich habe die Gläser nicht in den lokalen Ordner kopiert. – cplusplusrat
Ich weiß nicht, welche Frühlingsgläser du benutzt. 'AnnotationConfigApplicationContext' befindet sich im Spring-Context-Jar. –