maven项目Junit单元测试java.lang.ClassNotFoundException解决

SpringBlade项目单元测试最佳实践:JUnit5与Mockito实战指南 单元测试是保障软件质量的核心实践,它通过在隔离环境中验证单个代码单元的逻辑正确性,确保核心业务逻辑的可靠性。其原理是通过模拟外部依赖,实现快速、独立的测试执行,从而提升代码的可维护性和重构信心。在Java技术栈中,JUnit5和Mockito已成为单元测试的事实标准,JUnit5提供了现代化的测试框架,支持嵌套测试、参数化测试等高级特性,而Mockito则擅长创建测试替身以隔离数据库、远程服务等外部依赖。对于基于SpringBlade的微服务项目,这套组合能有效应对Controller、Service、Ma 阅读详情

问题描述

maven创建的项目,通过run as maven build启动后,测试类统统出现Class not found异常,有时候打开eclipse直接调试测试类的时候又是好好的,有时候maven build以后就出问题

Class not found zyh.controller.TestPageHelper

java.lang.ClassNotFoundException: zyh.controller.TestPageHelper
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:685)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)

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

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

解决办法

方法1:maven build的命令,只用tomcat7:run就行了(根据你的tomcat的版本来,我在配置里用的7),前面就不要加clean了,因为你每次clean了,编译出来的测试类的文件就被清除了。这样,不论你是否build了maven工程,进行Junit单元测试都不会受影响

方法2:maven build的命令如果是 clean tomcat7:run,那么你要进行Junit单元测试的时候,你的测试类就需要重新编译,方法就是在你的测试类里面随便找个位置敲个空格或者在哪里随便enter一行,然后Ctrl+S进行保存,这下你就有了编译后的文件。现在进行你的单元测试吧。

JUnit 4 Jar包完整指南:从手动下载到项目集成与排错 在Java单元测试领域,JUnit是事实上的标准框架,它通过注解驱动和断言机制,为代码质量提供了基础保障。其核心原理在于利用反射执行标记了@Test注解的方法,并通过断言库验证预期结果。这一技术价值在于实现了测试的自动化与可重复性,是保障软件可靠性的关键实践。在应用场景上,无论是遗留系统维护、无构建工具环境,还是特定框架(如老版本Android)开发,JUnit 4因其稳定性和广泛生态,依然是众多项目的选择。本文聚焦于JUnit 4的“完整包”获取与集成,深入解析其必须包含的**Hamcrest依赖**,并 阅读详情

相关推荐

《机器人学一(Robotics(1))》_台大林沛群 第 3 周 【机械手臂 顺运动学】Quiz 3

的方向,旋转方向与四指弯曲方向相反,为负, α为 -90。的方向,旋转方向与四指弯曲方向相反,为负, α为 -90。bug 的图 要求解的 i 位置有误 两套 题目?B. 第2个 坐标系 的原点位置 不便于 计算;上面的正确,后两题 有误, 不知道问题在哪里。标准部分, 前面的更常用,这种仅作为 了解。还是计算过程中保留两位有效数字 不符合。2、确定 旋转角 α 正负的右手定则。1、确定坐标系方向的右手定则。可相交,距离为 0。A: 右手拇指指向。小数点后两位,不符合。

weixin_46034116的博客 1243

Java单元测试环境搭建:从JUnit原理到Maven/Gradle实战配置

单元测试是软件工程中保障代码质量的核心实践,它通过自动化测试用例验证代码单元的正确性,确保功能模块在迭代中保持稳定。其原理在于隔离被测代码,模拟输入并断言预期输出,从而实现快速反馈和回归测试。在Java生态中,JUnit作为事实标准测试框架,其技术价值在于提供了丰富的注解、断言和生命周期管理,极大提升了测试编写效率和可维护性。无论是新项目采用模块化设计的JUnit 5,还是旧项目维护时可能遇到的JUnit 4,其应用场景都贯穿于持续集成和日常开发流程。本文聚焦于解决单元测试环境搭建中的常见痛点,例如Clas

weixin_36250534的博客 398

Allegro Design Entry CIS 与 OrCAD Capture CIS:PCB设计工具链中的双雄对决

本文深入对比了Cadence旗下两大原理图设计工具Allegro Design Entry CIS与OrCAD Capture CIS。Allegro Design Entry CIS源自Concept HDL,定位高端,强调自顶向下的层次化设计和与Allegro PCB Editor的无缝约束管理,适合大型复杂系统及团队协作。OrCAD Capture CIS则以其出色的易用性、广泛的兼容性和强大的CIS数据库功能著称,是中小型项目及跨工具链协作的通用选择。文章从历史渊源、核心功能、适用场景等多维度剖析,

bush的博客 487

Cause: java.lang.ClassNotFoundException: Cannot find class怎么解决

java.lang.ClassNotFoundException: Cannot find class 这个异常通常表示在你的 Java 程序中找不到某个类,这可能是由于以下几种情况造成的: 类文件没有被编译。在运行 Java 程序时,需要先使用 javac 命令将 .java 文件编译成 .class 文件。如果没有编译类文件,就会出现这个异常。 类文件所在的路径没有被添加到 CLASSPA...

weixin_42583683的博客 1万+

Silvaco TCAD仿真例库——肖特基二极管反向击穿特性(案例)

本文详细解析了使用Silvaco TCAD仿真例库进行肖特基二极管反向击穿特性分析的完整案例。通过构建包含浮空P型保护环的平面结构,重点阐述了针对雪崩击穿仿真的关键步骤,包括高精度网格划分、碰撞电离模型(impact selb)的启用以及反向电压的精细扫描策略。文章深入探讨了漂移区掺杂浓度、保护环设计等参数对击穿电压的影响,并提供了实用的调试心得,旨在帮助工程师精准预测和优化功率肖特基二极管的反向耐压能力。

fire9的博客 724

[AbutionGraph] 报表制作-使用Grafana动态可视化知识图谱指标

使用开源报表可视化工具Grafana实时监控时序知识图谱数据仓库AbutionGraph中的数据,实时性报表查询, 满足单次百万千万级的数据查询,毫秒级查询延迟,亚秒级对千亿数据量汇总统计,每日过亿报表查询/多维分析/日志分析等数据指标...

图特摩斯科技-博客 4278

Junit Test类报错Class not found XXX

Junit Test类报错Class not found XXX在使用Junit测试时,报错如下: Class not found com.vincent.test.MvcTest java.lang.ClassNotFoundException: com.vincent.test.MvcTest at java.net .URLClassLoader$1.run(

cchangcs 1万+

STM32驱动HC-SR04超声波模块:两种精准测距方案详解

本文详解STM32驱动HC-SR04超声波模块的两种精准测距方案:定时器中断计数法和外部中断边沿检测法。涵盖硬件连接、代码实现与优化技巧,帮助开发者根据精度和复杂度需求选择合适方案,提升超声波测距在嵌入式项目中的稳定性和准确性。

g5h6i的博客 684

关于Junit测试出现Class not found: “ “这个问题如何解决

这里简单记录一下我的解决方法 打开idea右边的maven,找到对应的项目, 项目 —》 lifecycle —》 clean ----》test 接着运行测试类方法就可以了。

业精于勤荒于嬉,行成于思毁于随! 2328

工业相机,大恒,面振相机8脚电源线和I/O触发接口线,颜色和接法说明和触发软件设定

上图: 说明一下,工业相机有TTL逻辑电平触发,也有光耦触发等。 这里一般我们用电路板驱动,就用GPIO触发模式, 这里,准备了两个GPIO触发模式,为LINE2,LINE3都可以选择,然后有一个GPIO_GND 如果,你只有一个触发接口,那么如图,选两个就好了。 实际接法如图。 ...

山云的专栏 1万+

LeRobot 入门教程(七)数据集

LeRobot Dataset v3.0 是机器人学习数据的标准化格式,支持多模态时间序列数据和视频的统一访问。该版本通过基于文件的存储(Parquet/MP4)、关联元数据和Hub原生流式处理等新特性,显著提升了性能并降低了存储开销。文档详细介绍了格式设计、安装使用、数据记录与加载方法,以及从v2.1迁移到v3.0的步骤,特别针对大型数据集(如DROID 1.0.1)的处理提供了SLURM集群移植方案。v3.0通过优化文件组织和元数据管理,实现了更快的加载速度、更高的内存效率和更好的可扩展性。

2506_90492529的博客 2054

junit can't find class

junit can’t find class xxx 原因分析: ​ 使用junit做单元测试时,run as junit 是直接运行系统编译后的java代码,也就是class代码。junit会在工程下找到要运行的class,并运行他指定的方法。 ​ 那么问题来了,我写的java类明明在工程下,而且web容器启动后一切都正常运行,为什么用junit就找不到类了呢? ​ 第一感觉是jun...

lickybay的博客 492

虚拟机安装VMware Tools

单击虚拟机-->安装VMware Tool 安装之后会有一个VMware Tools硬盘,里面有VMware Tools.tar.gz的压缩包 按照提示解压它,然后执行vmware-install.pl安装VMware Tools 将安装包放到/tmp目录下。可以直接拽过去,也可以使用cp或者mv命令 进入tmp文件目录并解压此文件包 cd /tmp ...

afei001 620

Spring项目JUnit测试报错ClassNotFoundException解决

Eclipse项目上有红色感叹号,各包显示正常。用JUnit测试部分能运行,部分报错,报错如下: Class not found UserTestjava.lang.ClassNotFoundException: UserTest at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoa...

weixin_34313182的博客 3535

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Maven项目Junit报错java.lang.ClassNotFoundException:

今天在刚从SVN检出的项目中进行Junit单元测试,报出如下异常:java.lang.ClassNotFoundException: com.cn.mytest.MyTest。从网上查了查,解决该异常的方法基本有以下几种。 方法二:在Eclipse中 找到Preferences---->Java---->Compiler---->Building---->Build path probl

小夜丶凝眸的博客 4332

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

2017-03-27-maven-单元测试报错及配置

使用maven构建的项目,在src/test/java在使用junit单元测试报错java.lang.ClassNotFoundException, 先使用maven的maven test命令,生成测试类的class文件,然后再在测试类中进行单独方法的测试。 但这样修改了测试类中的参数后,再次测试还是原来的参数,即需要重新编译测试类,这样很麻烦。 百度后发现在 pom.xml中配置 test

小肥的胖 540

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IDEA 单元测试报错 java.lang.ClassNotFoundException: junit.framework.ComparisonFailure

单元测试时报错。

diaolove的博客 2657

eclipse中的Maven项目进行junit单元测试时,出现java.lang.ClassNotFoundException

eclipse中的Maven项目进行junit单元测试时,出现java.lang.ClassNotFoundException 一、问题: 今天使用junit4单元测试时,居然运行不了,运行时发现错误如下: 没有找到测试类。找了半天,发现测试类都存在。 二、解决方案: 在eclipse菜单 -> 选择project -> clean 一下, 然后再运行单元测试文件,问题解决...

qq_26106119的博客 1203

SpringTest的JUnit出现java.lang.ClassNotFoundException:org.elasticsearch.action.Action

本人出现问题场景: springboot-parent的版本为2.2.6,elasticsearch的版本为7.8.0。 出现问题的时候是在执行SpringTest的JUnit单元测试的时候出现的,然后还去Run As的Maven test后也出现相同的问题。但是在正常Run As的Java application时完全没有问题,所以问题出现在Junit的时候。 Cause By:java.lang.ClassNotFoundException:org.elasticsearch.action.Act

qq_38680405的博客 3370

JUnit 5 java.lang.ClassNotFoundException: org.junit.platform.engine.support.discovery.SelectorResolv

Caused by: java.lang.ClassNotFoundException: org.junit.platform.engine.support.discovery.SelectorResolver java.lang.NoClassDefFoundError: org/junit/platform/engine/support/discovery/SelectorResolver

业精于勤-行成于思 7309

SpringBoot :Junit java.lang.ClassNotFoundException

1.配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ht...

oDianZi1234567的博客 1429

项目集成Maven后JUnit报ClassNotFoundException错误的分析及解决

前提:原有项目一切运行正常,单元测试正常执行。 项目开始使用Maven管理,结果发现原有的JUnit测试无法执行,类无法找到(java.lang.ClassNotFoundException)。无论如何修改Maven配置,报错依然。 分析原因: MyEclipse之所以能识别项目,是根据.project文件解析;而项目的目录结构则是在.classpath文件中定义。MyEclip

走过的足迹 7268

java.lang.NoClassDefFoundError: net/sf/jsqlparser/expression/Expression

今天在做junit单元测试的时候遇到两个问题: 第一个是:在单元测试的时候导入不了org.springframework.test.context.junit4.SpringJUnit4ClassRunner,其实在下载的依赖中是存在这个类的。 在maven的项目中依赖如下: <dependency> <groupId>org.springframework&lt...

weixin_43974276的博客 6178

Maven依赖冲突诊断与解决:以JUnit4为例的系统化实战指南

在Java项目开发中,依赖管理是构建稳定、可重复软件的基础环节。Maven作为主流构建工具,其依赖传递机制在简化开发的同时,也可能因版本冲突引发构建失败、测试异常等典型问题,例如常见的NoSuchMethodError或ClassNotFoundException。理解Maven的依赖仲裁规则(如最近定义优先、第一声明优先)是解决此类问题的关键。通过系统化地使用maven-dependency-plugin进行依赖树可视化分析,并结合maven-enforcer-plugin实施依赖一致性检查,开发者可以高

weixin_30455023的博客 441

Maven Surefire插件配置详解:解决JUnit 5测试执行问题

在Java项目构建中,Maven Surefire插件负责执行单元测试,其通过Test Provider机制识别不同测试框架。JUnit 5采用模块化架构,包含JUnit Platform、Jupiter和Vintage引擎,与JUnit 4的单一架构存在差异。从Surefire 2.22.0版本起,移除了对JUnit 5的自动检测支持,需显式配置Provider以确保测试被发现和执行,这对保障构建可靠性和持续交付流程至关重要。针对JUnit 5测试在Maven构建中消失的常见问题,核心解决方案是配置Sur

weixin_33866037的博客 346
上一篇: centOS7,vsftpd,更改默认目录后nginx访问失败,403forbidden解决
下一篇: centOS下 jedis连接redis失败 redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectExce
yuhenewbie
博客等级 码龄10年 5粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值