我遇到一个问题,maven在运行JUnit测试时没有找到slf4j类:
22:20:05,412 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy] 22:20:05,412 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback-test.xml] at [file:/home/ram/src/2dd/java/dd2/target/test-classes/logback-test.xml] 22:20:05,526 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.RollingFileAppender] 22:20:05,527 |-ERROR in ch.qos.logback.core.joran.action.AppenderAction - Could not create an Appender of type [ch.qos.logback.core.RollingFileAppender]. ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type ch.qos.logback.core.RollingFileAppender
但是,slf4j jar文件正被添加到类路径中:
[DEBUG] test classpath classpath: [DEBUG] /home/ram/src/2dd/java/dd2/target/test-classes [DEBUG] /home/ram/src/2dd/java/dd2/target/classes [DEBUG] /home/ram/.m2/repository/junit/junit/4.11/junit-4.11.jar [DEBUG] /home/ram/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar [DEBUG] /home/ram/.m2/repository/com/fallabs/kyotocabinet-java/1.24/kyotocabinet-java-1.24.jar [DEBUG] /home/ram/.m2/repository/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar [DEBUG] /home/ram/.m2/repository/ch/qos/logback/logback-core/1.0.13/logback-core-1.0.13.jar [DEBUG] /home/ram/.m2/repository/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar [DEBUG] provider classpath classpath: [DEBUG] /home/ram/.m2/repository/org/apache/maven/surefire/surefire-junit4/2.12.4/surefire-junit4-2.12.4.jar [DEBUG] /home/ram/.m2/repository/org/apache/maven/surefire/surefire-api/2.12.4/surefire-api-2.12.4.jar
我的logback-test.xml文件紧跟以下示例:http://logback.qos.ch/manual/appenders.html
gen-test.log gen-test.%i.log 1 3 2MB %date %level [%thread] %logger{36} [%file:%line] - %msg%n
我的pom.xml包含以下相关部分:
junit junit 4.11 test .... ch.qos.logback logback-classic 1.0.13 org.apache.maven.plugins maven-compiler-plugin 3.1 true true 1.7 1.7 -Xlint org.apache.maven.plugins maven-surefire-plugin 2.16 0 -Xms128m -Xmx1g -Djava.library.path=.:/usr/local/lib false false
感谢任何帮助,谢谢.
看来你的FILE appender有错误的类.我用
ch.qos.logback.core.rolling.RollingFileAppender
你错过了路径中的.rolling.