有没有研究compass框架的?遇到问题了,进来一起看看

小五五 2008-07-06 12:57:33
利用Spring + Hibernate集成Compass

tomcat启动的时候抛这样一个错误

265 ERROR ReadCommittedTransaction:258 - Failed to read index reader properties
java.lang.NoSuchFieldException: directoryOwner
at java.lang.Class.getDeclaredField(Unknown Source)
at org.compass.core.util.FieldInvoker.prepare(FieldInvoker.java:46)
at org.compass.core.lucene.engine.transaction.ReadCommittedTransaction.<clinit>(ReadCommittedTransaction.java:255)
at org.compass.core.lucene.engine.LuceneSearchEngine.begin(LuceneSearchEngine.java:224)
at org.compass.spring.transaction.SpringSyncTransaction.begin(SpringSyncTransaction.java:73)
at org.compass.spring.transaction.SpringSyncTransactionFactory.doBeginTransaction(SpringSyncTransactionFactory.java:72)
at org.compass.core.transaction.AbstractTransactionFactory.beginTransaction(AbstractTransactionFactory.java:74)
at org.compass.core.impl.DefaultCompassSession.beginTransaction(DefaultCompassSession.java:170)
at org.compass.core.CompassTemplate.execute(CompassTemplate.java:131)
at org.compass.core.CompassTemplate.execute(CompassTemplate.java:114)
at org.compass.core.impl.DefaultCompass$TransactionalSearchEngineIndexManager.verifyIndex(DefaultCompass.java:318)
at org.compass.core.lucene.engine.manager.ScheduledLuceneSearchEngineIndexManager.verifyIndex(ScheduledLuceneSearchEngineIndexManager.java:100)
at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:155)
at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:109)
at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:102)
at org.compass.core.config.CompassConfiguration.buildCompass(CompassConfiguration.java:229)
at org.compass.spring.LocalCompassBean.newCompass(LocalCompassBean.java:336)
at org.compass.spring.LocalCompassBean.afterPropertiesSet(LocalCompassBean.java:326)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:285)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)

...全文
324 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanhongmin 2008-11-16
  • 打赏
  • 举报
回复
学习,关注,顶起
c19122273 2008-11-07
  • 打赏
  • 举报
回复
楼主解决没啊 ,应该是集成的错误!
小五五 2008-07-08
  • 打赏
  • 举报
回复
自个顶起
小五五 2008-07-06
  • 打赏
  • 举报
回复
mycompass.cpm.xml:

<compass-core-mapping package="org.awc.demo.entity">
<class name="Book" alias="${mycompass.book}" root="false">
<id name="id">
<meta-data>${mycompass.id}</meta-data>
</id>
<property name="bookname">
<meta-data>${mycompass.bookname}</meta-data>
</property>
<property name="author">
<meta-data>${mycompass.author}</meta-data>
</property>
<property name="remark">
<meta-data>${mycompass.remark}</meta-data>
</property>
</class>

</compass-core-mapping>


mycompass.cmd.xml:

<compass-core-meta-data>
<meta-data-group id="mycompass" displayName="mycompass Meta Data">

<description>mycompass Meta Data</description>
<uri>http://compass/sample/mycompass</uri>

<alias id="book" displayName="Book">
<description>Book alias</description>
<uri>http://compass/sample/mycompass/alias/book</uri>
<name>book</name>
</alias>

<meta-data id="bookname" displayName="Bookname">
<description>Type of an entity in the system</description>
<uri>http://compass/sample/mycompass/bookname</uri>
<name>bookname</name>
</meta-data>

<meta-data id="id" displayName="Id">
<description>ID</description>
<uri>http://compass/sample/mycompass/id</uri>
<name>id</name>
</meta-data>

<meta-data id="author" displayName="Author">
<description>The author</description>
<uri>http://compass/sample/mycompass/author</uri>
<name >author</name>
</meta-data>

<meta-data id="remark" displayName="Remark">
<description>The author</description>
<uri>http://compass/sample/mycompass/remark</uri>
<name>remark</name>
</meta-data>
</meta-data-group>
</compass-core-meta-data>


Book.java:

package org.awc.demo.entity;

/**
*
* @author AndyFay
* @date Jun 29, 2008
* @hibernate.class table="tbl_Book"
*/
public class Book {
private Integer id;

private String bookname;

private String author;

private Integer pagecount;

private String remark;

/**
* @return 返回the author 的值
* @hibernate.property
*/
public String getAuthor() {
return author;
}

/**
* @return 返回the bookname 的值
* @hibernate.property
*/
public String getBookname() {
return bookname;
}

/**
* @return 返回the id 的值
* @hibernate.id generator-class = "native" unsaved-value = "null"
*/
public Integer getId() {
return id;
}

/**
* @return 返回the pagecount 的值
* @hibernate.property
*/
public Integer getPagecount() {
return pagecount;
}

/**
* @return 返回the remark 的值
* @hibernate.property
*/
public String getRemark() {
return remark;
}

/**
* 设置 author 的值
*
* @param author
* the author to set
*/
public void setAuthor(String author) {
this.author = author;
}

/**
* 设置 bookname 的值
*
* @param bookname
* the bookname to set
*/
public void setBookname(String bookname) {
this.bookname = bookname;
}

/**
* 设置 id 的值
*
* @param id
* the id to set
*/
public void setId(Integer id) {
this.id = id;
}

/**
* 设置 pagecount 的值
*
* @param pagecount
* the pagecount to set
*/
public void setPagecount(Integer pagecount) {
this.pagecount = pagecount;
}

/**
* 设置 remark 的值
*
* @param remark
* the remark to set
*/
public void setRemark(String remark) {
this.remark = remark;
}
}



以上是相关代码,好像没有拼写之类的错误。。因为第一次,所以很多地方都是copy的,甚至于不知道为什么这样写。
palm_civet 2008-07-06
  • 打赏
  • 举报
回复
java.lang.NoSuchFieldException: directoryOwner

配置文件哪里写错了,找不到这个属性吧,注意拼写错误

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧