问答详情
源自:4-8 DAO层单元测试编码和问题排查(上)

Cannot find the class file for org.springframework.context.ApplicationContextInitializer.

jdk是1.8,有没有同学能帮下忙啊,搞了一天了,谢谢谢谢

第一个报错:Description    Resource    Path    Location    Type
The project was not built since its build path is incomplete. Cannot find the class file for org.springframework.context.ApplicationContextInitializer. Fix the build path then try building this project    seckill        Unknown    Java Problem
第二个报错:Description    Resource    Path    Location    Type
The type org.springframework.context.ApplicationContextInitializer cannot be resolved. It is indirectly referenced from required .class files    SeckillDaoTest.java    /seckill/src/test/java/org/seckill/dao    line 1    Java Problem


提问者:青柠3159128 2017-04-08 16:46

个回答

  • 慕先生7039742
    2019-10-11 16:11:37

    换另一个版本的jar包就解决了。

  • 尼古拉斯带把刀
    2018-08-15 22:26:03

    一样的问题 重新下载了spring-context 搞定

  • 浮生半夏1
    2018-03-24 21:47:43

    楼主,解决了吗我也是这个问题

  • er路
    2017-07-31 23:02:50

    如果加载不成功呢,可能就是包的问题,,,, 如果你的其他代码写的都对

  • 慕粉4421235
    2017-05-04 20:07:21

    我和你一样的问题,重新下载spring-context包就好了


  • 亨利_慕粉4190963
    2017-04-09 21:21:03

    这是我的代码:


    package org.seckill.dao;


    import static org.junit.Assert.*;


    import java.util.Date;

    import java.util.List;


    import org.junit.Test;

    import org.junit.runner.RunWith;

    import org.seckill.entity.Seckill;

    import org.springframework.beans.factory.annotation.Autowired;

    import org.springframework.test.context.ContextConfiguration;

    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;


    /**

     * 配置spring与junit的整合,junit启动时加载spring容器

     *spring-test,junit

     */

    @RunWith(SpringJUnit4ClassRunner.class)

    //告诉junit spring配置文件

    @ContextConfiguration({"classpath:spring/spring-dao.xml"})

    public class SeckillDaoTest {


    //注入dao实现类依赖

    @Autowired

    private SeckillDao seckillDao;

    @Test

    public void testReduceNumber() {

    Date killTime=new Date();

    int updateCount=seckillDao.reduceNumber(1000L, killTime);

    System.out.println("updateCount="+updateCount);

    }


    @Test

    public void testQueryById() {

    long id=1000;

    Seckill seckill=seckillDao.queryById(id);

    System.out.println(seckill.getName());

    System.out.println(seckill);

    /*

    * 1000元秒杀iphone6

    Seckill [seckillId=1000, name=1000元秒杀iphone6, number=100, startTime=Sun Nov 01 00:00:00 CST 2015, endTime=Mon Nov 02 00:00:00 CST 2015, createTime=Sat Apr 08 13:52:31 CST 2017]

    */

    }


    @Test

    public void testQueryAll() {

    //java没有保存形参的记录:queryAll(int offset,int limit)->queryAll(arg0,arg1)

    List<Seckill>seckills=seckillDao.queryAll(0, 100);

    for(Seckill seckill:seckills){

    System.out.println(seckill);

    }

    /*

    * Seckill [seckillId=1000, name=1000元秒杀iphone6, number=100, startTime=Sun Nov 01 00:00:00 CST 2015, endTime=Mon Nov 02 00:00:00 CST 2015, createTime=Sat Apr 08 13:52:31 CST 2017]

    Seckill [seckillId=1001, name=500元秒杀ipad2, number=200, startTime=Sun Nov 01 00:00:00 CST 2015, endTime=Mon Nov 02 00:00:00 CST 2015, createTime=Sat Apr 08 13:52:31 CST 2017]

    Seckill [seckillId=1002, name=300元秒杀小米4, number=300, startTime=Sun Nov 01 00:00:00 CST 2015, endTime=Mon Nov 02 00:00:00 CST 2015, createTime=Sat Apr 08 13:52:31 CST 2017]

    Seckill [seckillId=1003, name=200元秒杀红米note, number=400, startTime=Sun Nov 01 00:00:00 CST 2015, endTime=Mon Nov 02 00:00:00 CST 2015, createTime=Sat Apr 08 13:52:31 CST 2017]

    */

    }


    }


  • 亨利_慕粉4190963
    2017-04-09 21:20:25

    不是你的代码的问题啊同学,她的报错信息显示的是buildpath不完整,你去看看构建路径呗。注释了那句代码就不报错的话那就是你的导包错误了:是这个:import org.springframework.test.context.ContextConfiguration;

    如果还不行的话其他配置文件要确定没有错,也有可能是你的maven下载jar包不正确,删掉让maven重下那个jar(springframework-test)可能就不会错了。

  • 青柠3159128
    2017-04-08 21:59:32

    @ContextConfiguration({"classpath:spring/spring-dao.xml"}) 把这行代码注释掉就不报错了,说明还是这加载错了,但是不知道错在哪,文件夹建错了吗???

  • 青柠3159128
    2017-04-08 21:38:55

    http://img.mukewang.com/58e8e7770001656313660736.jpg我写的是这样的 上边那个图是老师的,我用的win10+eclipse,我怀疑是不是那个spring的文件夹不对啊,写的和老师都一样啊,首行就报错,而且不能用resource注解autowired也不行,应该是spring的问题

  • 亨利_慕粉4190963
    2017-04-08 18:40:24

    要这样写的

    @ContextConfiguration({"classpath:spring/spring-dao.xml"})

    你的代码没有写配置文件的路径当然报错