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
换另一个版本的jar包就解决了。
一样的问题 重新下载了spring-context 搞定
楼主,解决了吗我也是这个问题
如果加载不成功呢,可能就是包的问题,,,, 如果你的其他代码写的都对
我和你一样的问题,重新下载spring-context包就好了
这是我的代码:
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]
*/
}
}
不是你的代码的问题啊同学,她的报错信息显示的是buildpath不完整,你去看看构建路径呗。注释了那句代码就不报错的话那就是你的导包错误了:是这个:import org.springframework.test.context.ContextConfiguration;
如果还不行的话其他配置文件要确定没有错,也有可能是你的maven下载jar包不正确,删掉让maven重下那个jar(springframework-test)可能就不会错了。
@ContextConfiguration({"classpath:spring/spring-dao.xml"}) 把这行代码注释掉就不报错了,说明还是这加载错了,但是不知道错在哪,文件夹建错了吗???
我写的是这样的 上边那个图是老师的,我用的win10+eclipse,我怀疑是不是那个spring的文件夹不对啊,写的和老师都一样啊,首行就报错,而且不能用resource注解autowired也不行,应该是spring的问题
要这样写的
@ContextConfiguration({"classpath:spring/spring-dao.xml"})
你的代码没有写配置文件的路径当然报错