2017-01-10 4 views
0

Ich bin neu zu Maven. Ich hatte es heruntergeladen und ausgepackt. Auch ich hatte bin Verzeichnis in Systempfad hinzugefügt. So 'mvn -v' funktioniert gut, siehe'mvn -v' Arbeit, but'mvn 'oder' mvn compile 'eine Ausnahme auslösen

`` `

Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-15T01:29:23+08:00) 
Maven home: D:\apache-maven-3.2.5\bin\.. 
Java version: 1.8.0_101, vendor: Oracle Corporation 
Java home: D:\Program Files\Java\jdk1.8.0_101\jre 
Default locale: zh_CN, platform encoding: GBK 
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos" 

` ``

Allerdings, wenn ich versuchte, ein Java-Projekt zu kompilieren mit 'mvn kompiliert', warf eine Ausnahme. Das Projekt besteht aus einer pom.xml-Datei und zwei Java-Dateien aus dem Lernprogramm https://spring.io/guides/gs/maven/#initial. die Ausnahme sagt,

`` `

E:\Code\java\test_maven>mvn compile 
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder" 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
constituent[0]: file:/D:/apache-maven-3.2.5/bin/../lib/aether-api-1.0.0.v20140518.jar 
constituent[1]: file:/D:/apache-maven-3.2.5/bin/../lib/aether-connector-basic-1.0.0.v20140518.jar 
constituent[2]: file:/D:/apache-maven-3.2.5/bin/../lib/aether-impl-1.0.0.v20140518.jar 
constituent[3]: file:/D:/apache-maven-3.2.5/bin/../lib/aether-spi-1.0.0.v20140518.jar 
constituent[4]: file:/D:/apache-maven-3.2.5/bin/../lib/aether-transport-wagon-1.0.0.v20140518.jar 
constituent[5]: file:/D:/apache-maven-3.2.5/bin/../lib/aether-util-1.0.0.v20140518.jar 
constituent[6]: file:/D:/apache-maven-3.2.5/bin/../lib/aopalliance-1.0.jar 
constituent[7]: file:/D:/apache-maven-3.2.5/bin/../lib/cdi-api-1.0.jar 
constituent[8]: file:/D:/apache-maven-3.2.5/bin/../lib/commons-cli-1.2.jar 
constituent[9]: file:/D:/apache-maven-3.2.5/bin/../lib/commons-io-2.2.jar 
constituent[10]: file:/D:/apache-maven-3.2.5/bin/../lib/commons-lang-2.6.jar 
constituent[11]: file:/D:/apache-maven-3.2.5/bin/../lib/guava-18.0.jar 
constituent[12]: file:/D:/apache-maven-3.2.5/bin/../lib/javax.inject-1.jar 
constituent[13]: file:/D:/apache-maven-3.2.5/bin/../lib/jsoup-1.7.2.jar 
constituent[14]: file:/D:/apache-maven-3.2.5/bin/../lib/jsr250-api-1.0.jar 
constituent[15]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-aether-provider-3.2.5.jar 
constituent[16]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-artifact-3.2.5.jar 
constituent[17]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-compat-3.2.5.jar 
constituent[18]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-core-3.2.5.jar 
constituent[19]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-embedder-3.2.5.jar 
constituent[20]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-model-3.2.5.jar 
constituent[21]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-model-builder-3.2.5.jar 
constituent[22]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-plugin-api-3.2.5.jar 
constituent[23]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-repository-metadata-3.2.5.jar 
constituent[24]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-settings-3.2.5.jar 
constituent[25]: file:/D:/apache-maven-3.2.5/bin/../lib/maven-settings-builder-3.2.5.jar 
constituent[26]: file:/D:/apache-maven-3.2.5/bin/../lib/org.eclipse.sisu.inject-0.3.0.M1.jar 
constituent[27]: file:/D:/apache-maven-3.2.5/bin/../lib/org.eclipse.sisu.plexus-0.3.0.M1.jar 
constituent[28]: file:/D:/apache-maven-3.2.5/bin/../lib/plexus-cipher-1.7.jar 
constituent[29]: file:/D:/apache-maven-3.2.5/bin/../lib/plexus-component-annotations-1.5.5.jar 
constituent[30]: file:/D:/apache-maven-3.2.5/bin/../lib/plexus-interpolation-1.21.jar 
constituent[31]: file:/D:/apache-maven-3.2.5/bin/../lib/plexus-sec-dispatcher-1.3.jar 
constituent[32]: file:/D:/apache-maven-3.2.5/bin/../lib/plexus-utils-3.0.20.jar 
constituent[33]: file:/D:/apache-maven-3.2.5/bin/../lib/sisu-guice-3.2.3-no_aop.jar 
constituent[34]: file:/D:/apache-maven-3.2.5/bin/../lib/slf4j-api-1.7.5.jar 
constituent[35]: file:/D:/apache-maven-3.2.5/bin/../lib/slf4j-simple-1.7.5.jar 
constituent[36]: file:/D:/apache-maven-3.2.5/bin/../lib/wagon-file-2.8.jar 
constituent[37]: file:/D:/apache-maven-3.2.5/bin/../lib/wagon-http-2.8-shaded.jar 
constituent[38]: file:/D:/apache-maven-3.2.5/bin/../lib/wagon-http-shared-2.8.jar 
constituent[39]: file:/D:/apache-maven-3.2.5/bin/../lib/wagon-provider-api-2.8.jar 
constituent[40]: file:/D:/apache-maven-3.2.5/bin/../conf/logging/ 
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder 
     at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:230) 
     at org.slf4j.LoggerFactory.bind(LoggerFactory.java:121) 
     at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:112) 
     at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:275) 
     at org.apache.maven.cli.MavenCli.logging(MavenCli.java:311) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:207) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:160) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
     15 more 

` ``

I'v Tage für die Lösung google aber nichts finden. Bitte helfen Sie mir bei meinem Lernen. Dank sooooooooooooooo viel

+0

Check-out hier http://stackoverflow.com/questions/3737992/noclassdeffounderror-org-slf4j-impl-staticloggerbinder – Imran

+0

Ich nehme an, Sie M2_HOME in Ihrer Umgebung in eine andere Maven Version gesetzt haben ... Ist Maven Version, die Sie in Ihrem Pfad so definiert haben wie in M2_HOME definiert? Warum nicht die neueste Version 3.3.9 verwenden? – khmarbaise

Antwort

0

Ich denke, dass Sie die folgende Abhängigkeit in Ihrem pom

<dependency>  
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    <version>1.5.6</version> 
</dependency> 

Versuchen Sie es hinzufügen müssen und lassen Sie uns wissen, ob es

arbeitete
+1

Ich habe die Lösung. Ich habe Java neu installiert und die Umgebungsvariablen neu konfiguriert, die Ausnahme ist verschwunden ... Danke trotzdem! – user3674943

0

Sollte nicht gegoogelt haben. Sollte gerade den in der Ausnahme erwähnten Link (http://www.slf4j.org/codes.html#StaticLoggerBinder) besucht haben.

Das ist, was es sagt -

Dies geschieht, wenn keine geeignete SLF4J Bindung auf den Klassenpfad gefunden werden konnte. Das Platzieren von einem (und nur einem) von slf4j-nop.jar slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar oder logback-classic.jar auf dem Klassenpfad sollte das Problem lösen.

Normalerweise Maven lib Ordner mit slf4j-simple.jar kommt, versuchen Sie, dass das Hinzufügen und lassen Sie uns wissen, das Ergebnis.

Er sagt weiter -

Wenn Sie zum Verpacken einer Anwendung verantwortlich sind und kümmern sich nicht über Protokollierung, dann slf4j-nop.jar auf der Klassenpfad Ihrer Anwendung platzieren wird loszuwerden, diese Warnung erhalten Botschaft.

+0

Ich habe die Lösung gefunden. Ich habe Java neu installiert und die Umgebungsvariablen neu konfiguriert, die Ausnahme ist verschwunden ... Vielen Dank für Ihre Hilfe. – user3674943

+0

Kühl. Viel Glück mit den nächsten Schritten. –