zoukankan      html  css  js  c++  java
  • Eclipse开发Maven项目提示:程序包org.junit不存在解决方案

    1、产生的问题:

    maven项目执行单元测试可以正常执行,但是执行maven命令test,则报一下异常:

    org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile (default-testCompile) on project support: Compilation failure: Compilation failure:
    [ERROR] E:workspacesupportsrc	estjavacom	estspringsupportTestSpringContextHolder.java:[7,16] 错误: 程序包org.junit不存在
    [ERROR] E:workspacesupportsrc	estjavacom	estspringsupportTestSpringContextHolder.java:[16,2] 错误: 找不到符号
    [ERROR] 符号:   类 Test
    [ERROR] 位置: 类 TestSpringContextHolder
    [ERROR] E:workspacesupportsrc	estjavacom	estspringsupportTestSpringContextHolder.java:[29,2] 错误: 找不到符号
    [ERROR] 符号:   类 Before
    [ERROR] 位置: 类 TestSpringContextHolder
    [ERROR] E:workspacesupportsrc	estjavacom	estspringsupportTestSpringContextHolder.java:[43,5] 错误: 找不到符号
    

      

    2、产生上述错误的原因:

    1)、maven项目,单元测试和运行使用不同的classpath,测试使用test-classpath,运行使用classpath;
    2)、创建maven项目使用junit默认的版本为3.8.1,它使用的是编程的方式,即使maven dependencies目录引入了junit,但也无法使用,只能通过build path添加junit支持

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>
    

     

    3、解决方案:

    将junit的版本提高到4.x,配置代码如下:

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <!-- 默认的版本为3.8.1,修改为4.x,因为3.x使用的为编程的方式,4.x为注解的形式。 -->
                <version>4.11</version>
                <scope>test</scope>
            </dependency>

    4、补充:我上面贴出的异常目录位于。。。src estjava。。。,不是。。。srcmainjava。。。,处理方式如上,如果异常发生在main目录而不是test目录,同时junit版本是4.x,解决方案则将scope属性去掉:

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <!-- 默认的版本为3.8.1,修改为4.x,因为3.x使用的为编程的方式,4.x为注解的形式。 -->
                <version>4.11</version>
                <!-- 去掉scope作用域,使用默认的compile,编译、测试、运行都有效的作用域 -->
                <!--<scope>test</scope>-->
            </dependency>

    解决思路参考:https://blog.csdn.net/javaloveiphone/article/details/52163396

  • 相关阅读:
    sockjs-node/info?t=报错解决
    微信昵称表情符号前端显示问题
    vue-cli 3.0项目安装报错
    vue-cli项目按需引入element-ui实际操作
    javafx分别设置四个边框
    springmvc使用<mvc:default-servlet-handler/>导致的handler失效
    windows注册表删除右键菜单
    计算机实现32位整数加减乘除的方法
    常用排序算法
    AbstractCollection类中的 T[] toArray(T[] a)方法源码解读
  • 原文地址:https://www.cnblogs.com/mjbrian/p/9772506.html
Copyright © 2011-2022 走看看