什么导致javax.jcr.nosuchWorkspace异常以及如何修复它

什么导致javax.jcr.nosuchWorkspace异常以及如何修复它,java,Java,我尝试使用spring4和jackrabbit等开发一些服务器程序。。但是,当我使用junit4测试某个类时,会发生javax.jcr.NoSuchWorkspaceException错误。我不知道为什么会出错。这个程序昨天已经运行了!请帮我解决这个问题 这是测试spring控制器类的测试类 包kr.ac.jbnu.sql.soremore.controller; 导入java.io.File; 导入java.io.IOException; 导入java.util.ArrayList; 导入j

我尝试使用spring4和jackrabbit等开发一些服务器程序。。但是,当我使用junit4测试某个类时,会发生javax.jcr.NoSuchWorkspaceException错误。我不知道为什么会出错。这个程序昨天已经运行了!请帮我解决这个问题

这是测试spring控制器类的测试类

包kr.ac.jbnu.sql.soremore.controller;
导入java.io.File;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.List;
导入kr.ac.jbnu.sql.soremore.model.RDML;
导入kr.ac.jbnu.sql.soremore.model.Traceability;
导入kr.ac.jbnu.sql.soremore.service.RDMLDBException;
导入org.jdom2.Document;
导入org.jdom2.JDOMException;
导入org.jdom2.input.SAXBuilder;
导入org.junit.Assert;
导入org.junit.Test;
导入org.junit.runner.RunWith;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.test.context.ContextConfiguration;
导入org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
导入org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(位置={“classpath*:/config/spring/soremore servlet.xml”})
公共类SoremoreControllerTest{
@自动连线
SoremoreController SoremoreController=null;
@试验
public void storeRDML(){
//字符串[]hwpmlpath={”资源/示例\rdml/예제 1.xml“,
//“资源/样本\rdml/예제 2.xml“,
//“资源/样本\rdml/예제 3.xml“,
//“资源/样本\rdml/예제 4.xml“,
//“资源/样本\rdml/예제 5.xml“,
//“资源/样本\rdml/예제 6.xml“,
//“资源/样本\rdml/예제 7.xml“,
//“资源/样本\rdml/예제 8.xml“,
//“资源/样本\rdml/예제 9.xml“,
//“资源/样本\rdml/예제 10.xml“};
//
//for(字符串hwpmlPath:hwpmlPath){
//soremoreController.storeRDML(hwpmlPath);
//		}
ArrayList rdmls=loadTestRDML();
布尔值isSuccessful=false;
for(RDML-RDML:rdmls){
试一试{
soremoreController.storeRDML(rdml);
System.out.println();
isSuccessful=真;
}捕获(例外e){
e、 printStackTrace();
isSuccessful=错误;
}
}
Assert.assertTrue(issucessful);
}
@试验
public void storeRDMLWithTraceability()引发IOException{
Listrdmls=null;
字符串previousRDMLId=“xxx”;
for(RDML-RDML:rdmls){
soremoreController.storeRDMLWithTraceability(rdml,
previousRDMLId,TraceabilityTypes.Confect);
}
}
@试验
public void updatermlWithTraceability(){
字符串previousRDMLId1=“xxx”;
字符串previousRDMLId2=“xxx”;
String updatedTraceability=soremoreController.updateRDMLTraceability(
previousRDMLId1、previousRDMLId2、可追溯性类型。满足);
}
@试验
public void deleteRDMLWithTraceability(){
字符串previousRDMLId1=“xxx”;
字符串previousRDMLId2=“xxx”;
String removedTraceability=soremoreController.deleteRDMLTraceability(
previousRDMLId1、previousRDMLId2);
}
@试验
公共void searchRDML(){
字符串rdmlKeyWord=“abc”;
ArrayList rdmls=soremoreController.searchRDML(rdmlKeyWord);
for(RDML-RDML:rdmls){
系统输出打印项次(rdml);
}
}
@试验
公共无效搜索RDML0(){
字符串rdmlKeyWord=“def”;
ArrayList rdmls=soremoreController.searchRDML(rdmlKeyWord);
for(RDML-RDML:rdmls){
系统输出打印项次(rdml);
}
}
@试验
公共无效搜索RDML1(){
字符串rdmlKeyWord=“2차년도계획서";
ArrayList rdmls=soremoreController.searchRDML(rdmlKeyWord);
for(RDML-RDML:rdmls){
系统输出打印项次(rdml);
}
}
@试验
public void getRDML(){
字符串rdmlID=“abc”;
RDML-RDML=soremoreController.getRDML(rdmlID);
}
@试验
public void getParentIDs(){
字符串rdmlID=“abcd”;
ArrayList parentId=soremoreController.GetParentId(rdmlID);
for(字符串:parentID){
}
}
@试验
public void getChildIDs(){
字符串rdmlID=“abcd”;
ArrayList ChildId=soremoreController.getChildId(rdmlID);
for(字符串:childId){
}
}
public void getDirectLinkedTraceability(){
字符串rdmlID=“abcd”;
ArrayList linkedTraceabilities=soremoreController
.getDirectLinkedTraceability(rdmlID);
用于(可追溯性:LinkedTraceability){
}
}
公共ArrayList loadTestRDML(){
ArrayList rdmls=新的ArrayList();
字符串xmlSource=“resource/samplerdml”;
File sourceDir=新文件(xmlSource);
File[]sourceFiles=sourceDir.listFiles();
用于(文件:sourceFiles){
RDML RDML=新的RDML();
setRdmlAsDocument(createDocument(file));
添加(rdml);
}
返回rdmls;
}
私有文档createDocument(文件rdmlPathAsFile){
SAXBuilder jdomBuilder=新SAXBuilder();
文档jdomDocument=null;
试一试{
jdomDocument=jdomBuilder.build(rdmlPathAsFile);
}捕获(JDOMException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
返回jdom文档;
}

}
在repository.xml和登录语句中没有任何错误

尝试从rep.home路径中删除您的Jackrabbit文件夹,然后重新启动项目以创建新的Jackrabbit文件夹。希望这对您有用

或者您可以尝试:

session=repository.login(新的simpleredentials(“admin”,“admin”.tocharray()),“default”)