今天想写个随笔,最近经常遇到使用junit的时候报java.lang.NoClassDefFoundError,今天算是恍然大悟了,原来junit虽然在gradle里面配置了,也在Project and External Dependencies中看到了junit的jar包,并能在这个junit的jar包里面找到org/junit/runner/manipulation/Filter这个类,但是run as junit test的时候就偏偏要报java.lang.NoClassDefFoundError: org/junit/runner/manipulation/Filter。

  以为是gradle配置问题,testImplementation、implementation、api都不行  

  后来想想,出现这种情况无外乎gradle中引入的jar包(即Project and External Dependencies中的jar包)在run as junit test的时候并没有被jvm加载,所以才会出现这种现象,解决办法就是在build path 中add library,加入junit

  下面附上在main里面打出已加载的class:

package proxy;import java.lang.reflect.Field;
import java.lang.reflect.Proxy;
import java.util.Vector;import org.junit.Test;/**
* Created by 136187300@qq.com on 2018年6月9日.
*/public class TestProxy {@Testpublic void test1() {TestLog testLog = new TestLogImpl();TestLogInterceptor testLogInterceptor = new TestLogInterceptor();testLogInterceptor.setTarget(testLog);TestLog proxy = (TestLog)Proxy.newProxyInstance(testLog.getClass().getClassLoader(), testLog.getClass().getInterfaces(), testLogInterceptor);proxy.print();}public static void main(String[] args) {TestLog testLog = new TestLogImpl();TestLogInterceptor testLogInterceptor = new TestLogInterceptor();testLogInterceptor.setTarget(testLog);TestLog proxy = (TestLog)Proxy.newProxyInstance(testLog.getClass().getClassLoader(), testLog.getClass().getInterfaces(), testLogInterceptor);proxy.print();try {new TestProxy().printClass();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void printClass() throws Exception {ClassLoader classLoader = Thread.currentThread().getContextClassLoader();Class cla = classLoader.getClass();while (cla != ClassLoader.class)cla = cla.getSuperclass();Field field = cla.getDeclaredField("classes");field.setAccessible(true);Vector v = (Vector) field.get(classLoader);for (int i = 0; i < v.size(); i++) {System.out.print(((Class)v.get(i)).getName()+",");if(i%10 == 0)System.out.println("");}}
}

  

  

转载于:https://www.cnblogs.com/xiaodebing/p/9164675.html

java.lang.NoClassDefFoundError: org/junit/runner/manipulation/Filter相关推荐

  1. “Java.lang.NoSuchMethodError: org.junit.runner.Request.classWithoutSuiteMethod”Junit4运行报错

    一.现象描述 笔者在使用Junit时,前面搭建工程时使用的Junit版本4.0都可以测试运行,但是后面不知怎么的就突然出现如下错误: Java.lang.NoSuchMethodError: org. ...

  2. java.lang.NoSuchMethodError: org.junit.runner.Description.getClassName()Ljava/lang/String;

    在maven+ssm项目中,进行单元测试时,出现了这个错误 原因是因为可以junit和maven的之间的问题,不能进行当个的方法测试,只能整体的进行测试.

  3. Junit测试出现异常:Exception in thread “main“ java.lang.NoSuchMethodError: org.junit.runner.Description.cre

    环境变量配置问题: 解决办法: A,可能是环境变量配置冲突:即系统变量和用户变量配置一个即可. B,我的问题是我的jre文件包没有在jdk包文件下:把jre文件包剪切道jdk文件下解决了.

  4. Maven项目报错:Caused by: java.lang.NoClassDefFoundError: com/fasterxml/classmate/Filter

    一.问题描述 项目一运行就报错: Caused by: java.lang.NoClassDefFoundError: com/fasterxml/classmate/Filterat org.hib ...

  5. java.lang.NoClassDefFoundError: org/springframework/dao/support/PersistenceE解决方法

    笔者是使用spring4.0时,报的错误: 原因是没有引入spring-tx-4.0.0.RELEASE.jar包,將spring-tx-4.0.0.RELEASE.jar添加到build path中 ...

  6. EasyExcel导入的时候报错Caused by: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/File

    今天用EasyExcel导入的时候报错,如下 com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFound ...

  7. Dubbo 启动报java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy

    1.## Dubbo 启动报java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy 2. Failed to subscribe ...

  8. maven命令行创建web项目报错:java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils...

    早上新建一个web项目,没想到一敲命令创建就失败了,真是出师不利.各种折腾无果,当然我也可以用eclipse直接创建的,就是想搞清楚状况.刚刚才发现问题原因,这个结果我也是醉了,太坑爹了. 问题现象: ...

  9. java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper

    1.错误描述 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'proce ...

  10. java lang NoClassDefFoundError org/apache/ibatis/session/Sq

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 1.错误 ...

最新文章

  1. 51单片机中变量的存储 xdata bdata idata pdata区别
  2. Django REST Framework限速
  3. (数据结构与算法)稀疏数组案例
  4. 利用python脚本(re)抓取美空mm图片
  5. php redis事务回滚,【Redis】Redis事务详解,Redis事务不支持回滚吗?
  6. ALAsset 循环获取图片(Assets Library Framework)
  7. JavaScript unshift()函数移入数据到数组第一位
  8. 计算机用户密码怎么查看,怎么查看电脑开机密码【具体阐明】
  9. 趣味记忆5大经典的软件架构风格
  10. IBM Spectrum LSF-手册
  11. 阿基米德螺旋线lisp_CAD画阿基米德螺旋线程序
  12. 【Python黑科技】图片太大不能上传?三种压缩图片大小的方法(代码注释详细)
  13. aui点击事件css,AUI说明
  14. 父亲发现高三女儿早恋 机智做法让网友惊呆
  15. 去除高清视频锯齿几个方法
  16. 【2023秋招】10月9日字节跳动校招题目
  17. Flutter:Dialog对话框及自定义Dialog
  18. ubuntu中用python获取GPU温度。push给falcon-agent。
  19. Python3.6实现12306火车票自动抢票(内含源码)
  20. Python项目体系练习500例(附源代码),练完可就业

热门文章

  1. 统计函数应用之SQL 分析函数
  2. python selenium qwebengineview获取页面元素_selenium操作详解之获取元素状态
  3. java 权限url权限_Java秒杀系统实战系列~整合Shiro实现用户登录认证
  4. python大佬养成计划----Web框架(Flask)
  5. python PIP包管理工具安装
  6. linux 打包 压缩
  7. Android 使用View绘制文字(DrawText)技术总结
  8. 精华阅读第 13 期 |常见的八种导致 APP 内存泄漏的问题
  9. [转]UML建模的要点总结
  10. Explaining Classifiers using Adversarial Perturbations on the Perceptual Ball论文解读