我是maven的新手。我已经下载并解压缩了它。我还将bin目录添加到系统路径中。所以' mvn -v'工作得很好,见
```
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"
```
但是,当我尝试使用' mvn compile'编译java项目时,它引发了一个异常。该项目由一个pom.xml文件和教程https://spring.io/guides/gs/maven/#initial中的两个java文件组成。 例外情况说,
```
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
```
我在谷歌的日子里找到了解决方案,却一无所获。请帮助我学习maven。非常感谢sooooooooooooooo
答案 0 :(得分:0)
我认为您需要在pom中添加以下依赖项
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.6</version>
</dependency>
尝试一下,让我们知道它是否有效
答案 1 :(得分:0)
不应该用谷歌搜索。应该刚刚访问了异常(http://www.slf4j.org/codes.html#StaticLoggerBinder)中提到的链接。
这就是它所说的 -
如果在类路径上找不到合适的SLF4J绑定,则会发生这种情况。 在类路径上放置一个(并且只有一个)slf4j-nop.jar slf4j-simple.jar,slf4j-log4j12.jar,slf4j-jdk14.jar或logback-classic.jar应该可以解决问题。强>
通常Maven的lib文件夹附带slf4j-simple.jar,尝试添加它并让我们知道结果。
进一步说 -
如果您负责打包应用程序而不关心 关于记录,然后将slf4j-nop.jar放在您的类路径上 应用程序将摆脱此警告消息。