`
tianya84
  • 浏览: 25763 次
社区版块
存档分类
最新评论

junit 测试 java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log

    博客分类:
  • j2ee
 
阅读更多

今天用JUNIT测试的时候,报了一个错误:

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:159)

at org.springframework.test.context.TestContextManager.retrieveTestExecutionListeners(TestContextManager.java:185)

at org.springframework.test.context.TestContextManager.<init>(TestContextManager.java:118)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTestContextManager(SpringJUnit4ClassRunner.java:120)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:108)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)

at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)

at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)

at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)

at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)

at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

 

采取了以下手段尝试解决:

1、查找slf4j相关jar有没有加入到classpath

发现已经加了:slf4j-log4j12-1.7.7.jar  slf4j-api-1.7.7.jar  log4j-1.2.17.jar 

2、查看是否slf4j的包有无不同版本重复或者冲突

发现没有

3、那只能认为slf4j的jar包没在classpath中,没有被编译,但是classpath中确实是有啊。那咋办呢?

为了验证猜测是否正确,将(ps:开发工具是myeclipse)应用部署到了tomcat,然后打开部署目录,到该项目的lib目录,发现仅有两个jar文件。

回到我的项目,我的习惯是在系统的根目录建一个lib,然后把系统所需要用jar包都放进去,接着再加入到编译目录。采用这种方式,IDE偶尔会产生无法将LIB文件夹下的jar包部署到容器中。

接下去这个问题就好解决了,按标准的WEB项目结构,将jar包放入到指定的目录。问题解决

 

分享到:
评论

相关推荐

    解决 java.lang.NoSuchMethodError的错误

    解决 java.lang.NoSuchMethodError 的错误 Java.lang.NoSuchMethodError 错误是一种常见的 Java 异常,它发生在 Java 虚拟机 (JVM) 无法找到某个类的特定方法时。这种错误可能是由于项目依赖比较复杂、Java 运行...

    jaxen.jar和dom4j.jar

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt....

    junit的jar包

    Files contained in junit4-4.8.2.jar: LICENSE.txt META-INF/MANIFEST.MF junit.extensions.ActiveTestSuite.class junit.extensions.RepeatedTest.class junit.extensions.TestDecorator.class junit.extensions...

    org.eclipse.jdt.core_3.5.2.v_981_R35x

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt....

    jmockit_sample:jmockit 使用示例代码和说明

    使用mock测试的几点好处: a、能够帮助我们解耦设计,即以接口设计为中心。 b、在使用其他对象的...使用jmockit,不要使用jre,要用jdk,否则,可能出现比如java.lang.NoClassDefFoundError: org.junit.runner.Runner

    HIbernate4.3.6整合c3p0所需jar

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt....

    Hibernate相关jar包:slf4j-log4j12-1.5.8.jar、junit-4.8.2.jar、log4j-1.2.12.jar等

    slf4j-nop-1.5.8.jar、slf4j-log4j12-1.5.8.jar、slf4j-api-1.5.8.jar、hibernate-annotations.jar、hibernate3.jar、junit-4.8.2.jar、log4j-1.2.12.jar等 hibernate框架jar包:8个 搭建注解环境jar包:3个 log...

    com.springsource.org.junit-4.7.0.jar

    com.springsource.org.junit-4.7.0.jar 需要的下载啊

    最最常用的 100 个 Java类分享

    19. `org.junit.Test`:JUnit框架中的注解,标记一个方法为测试方法。 20. `java.io.FileOutputStream`:FileOutputStream用于向文件系统写入字节流。 21. `java.io.FileNotFoundException`:当尝试打开不存在的...

    poi-3.6-20091214.jar commons-logging-1.1.jar junit-3.8.1.jar log4j-1.2.13.jar

    "log4j-1.2.13.jar"是Log4j的一个版本,Log4j是一个广泛使用的Java日志框架,提供灵活且强大的日志记录功能。1.2.13是该框架的旧版本,虽然有更新的版本如Log4j 2可用,但很多遗留系统仍可能依赖于这个版本。Log4j...

    junit-4.12.jar下载

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。这里我们关注的是`junit-4.12.jar`版本,这是一个重要的里程碑,因为它带来了许多改进和新特性。让我们深入...

    junit-jupiter-params-5.7.2-API文档-中文版.zip

    Maven坐标:org.junit.jupiter:junit-jupiter-params:5.7.2; 标签:junit、jupiter、params、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...

    struts2-junit-plugin-2.1.8.jar

    可解决java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object; java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils struts2.1.8...

    junit-4.12.jar

    4. **参数化测试(Parameterized Tests)**:Junit 4.12支持参数化测试,允许用不同的参数多次运行同一测试,这在测试数据驱动的方法或需覆盖多种输入情况时非常有效。 5. **测试套件(Test Suites)**:通过`@Run...

    javaweb中.java文件测试需要的框架(junit测试).rar

    本压缩包文件"javaweb中.java文件测试需要的框架(junit测试).rar"显然是为了帮助开发者理解如何在Java Web项目中使用JUnit进行测试。 **JUnit框架详解** JUnit是一个基于注解的测试框架,它的核心功能包括: 1....

    junit-4.13.2-API文档-中文版.zip

    标签:junit、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    apache commons 常用jar包 commons-validator commons-transaction commons-lang等

    jar包大小:342KB log4j-1.2.6.jar jar包大小:135KB commons-validator-1.3.1.jar jar包大小:93KB commons-transaction-1.2.jar jar包大小:141KB commons-scxml-0.6.jar jar包大小:254KB commons-primitives-1.0.jar ...

    junit-4.13.1.jar

    JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。

    junit-3.8.1.jar资源

    JUnit是Java编程语言中最常用的单元测试框架之一,它在软件开发过程中起着至关重要的作用,帮助开发者确保代码的质量和稳定性。`junit-3.8.1.jar` 是JUnit的一个早期版本,发布于2004年,适用于Java 1.3及更高版本。...

    junit-4.12.rar包及依赖包

    本文将深入探讨关于"junit-4.12.rar"包及其依赖包,以及如何解决在使用JUnit 4进行单元测试时遇到的"method initializationerror not found"错误。 首先,我们来了解JUnit 4.12版本。这是JUnit的一个稳定版本,发布...

Global site tag (gtag.js) - Google Analytics