`

Compass学习之二:附带例子的部署

阅读更多

2.1Compass附带例子的部署

部署环境:

1IDEMyEclipse5.0

2、数据库:MySQL5.0

3JDKjdk1.5.0_02

4、应用服务器:apache-tomcat-5.5.12

2.1.1Library的部署

1、新建Java项目Library

1)、把compass-2.0.0\samples\library\src\java下面的内容copysrc

2)、把compass-2.0.0\samples\library\src\test下面的内容copysrc

 

2、导入以下jar包。

1)、commons-logging.jar

2)、compass-2.0.0.jar

3)、lucene-analyzers.jar

4)、lucene-core.jar

注:有些IDE环境需要手工导入Junit库。

 

3、修改org.compass.sample.library. LibraryTests中的错误。

SimpleDateFormat sdf = new SimpleDateFormat(Library.MetaData.Birthdate.Format);

==

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD");

 

4、利用Junit运行即可。

 

注:

Library这个类搜了半天没找到。本来还想看看里面有些啥东西呢。

 

2.1.2petclinic的部署

1、新建Web项目petclinic,最好是UTF-8格式。

1)、把compass-2.0.0\samples\petclinic\src\java下面的内容copysrc下。

2)、把compass-2.0.0\samples\petclinic\war下面的内容copyWebRoot下。

3)、把compass-2.0.0\samples\petclinic\war\WEB-INF\classes下面的内容copysrc下。

 

注意1:别忘了3),否则会报以下错误。

java.util.MissingResourceException: Can't find bundle for base name views, locale zh_CN at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:837)

注意2test内容别加到src下,因为Petclinic这个类找不到!

 

2、导入以下jar包。

1)、commons-logging.jar

2)、compass-2.0.0.jar

3)、db-ojb-1.0.4.jar

4)、hibernate3.jar

5)、jstl.jar

6)、lucene-analyzers.jar

7)、lucene-core.jar

8)、spring.jar

9)、spring-hibernate3.jar

10)、spring-ojb.jar

11)、standard.jar

 

 

3、代码修改

本教程采用MySQLJDBC连接方式

所以需要经过以下步骤修改代码。文件均在WEB-INF/下。

1)、web.xmlcontextConfigLocationSpring加载文件修改成jdbc

<context-param>

       <param-name>contextConfigLocation</param-name>

       <!--<param-value>

         /WEB-INF/applicationContext-hibernate.xml

       </param-value>-->

       <!--

       <param-value>

         /WEB-INF/applicationContext-ojb.xml

       </param-value>

       -->   

       <param-value>

         /WEB-INF/applicationContext-jdbc.xml

       </param-value>      

    </context-param>

2)、jdbc.properties

jdbc.driverClassName=org.hsqldb.jdbcDriver

jdbc.url=jdbc:hsqldb:hsql://localhost:9001

#jdbc.url=jdbc:mysql://localhost:3306/petclinic

jdbc.username=sa

jdbc.password=

修改成自己项目中对应的值!

例如:

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3316/petclinic1? generateSimpleParameterMetadata=true

jdbc.username=root

jdbc.password=admin

 

注:

url要增加generateSimpleParameterMetadata=true参数,compass自动更新索引时(ResultSetJdbcGpsDevice [line: 337] - performMirroring())只有generateSimpleParameterMetadata=true时才行,否则会抛“java.sql.SQLException: Parameter metadata not available for the given statement”,因为mysql驱动默认generateSimpleParameterMetadata=false(参考ConnectionPropertiesImpl953).这里有2个方法解决,修改compass源码,或增加这个参数。

 

3)、修改applicationContext-jdbc.xmlselectQuery,versionQuery中的4sql错误。

把原来针对hsql“COALESCE(t.version, convert('1970-01-01', timestamp)) as type_version”改成“cast(coalesce(t.version,cast('2000-1-21' as datetime)) as datetime) as type_version”

 

注:2)和3)的配置问题的解决主要参考下面这篇文章:

petclinic(compass+jdbc+mysql)配置笔记》

http://www.itpub.net/thread-936737-1-1.html

 

5
0
分享到:
评论
3 楼 cysunc 2009-06-25  
godomoney 写道
org.apache.lucene.index.CorruptIndexException: Unknown format version: -7
版本有问题吗,你碰到过这个问题吗

不好意思,没有碰到这个问题,看异常应该是版本问题。
2 楼 godomoney 2009-06-25  
org.apache.lucene.index.CorruptIndexException: Unknown format version: -7
版本有问题吗,你碰到过这个问题吗
1 楼 SurMichael 2008-06-20  
谢谢分享.
很有用.

相关推荐

    Compass全文检索系列之一:Compass入门

    在实际应用中,我们可以按照以下步骤来使用Compass: 1. **安装与依赖**:将Compass库添加到项目中,根据所使用的ORM框架选择相应的版本。 2. **配置ORM集成**:配置Compass与ORM框架的连接,指定数据源和索引存储...

    Compass原理深入学习笔记

    【Compass原理深入学习笔记】 Compass是一款基于Apache Lucene的全文搜索引擎框架,它为开发者提供了更高级别的抽象层,简化了搜索引擎的集成工作。在理解Compass之前,我们需要先了解全文检索的基本概念和原理。 ...

    compass-core, 将分布式系统部署自动化到Baremetal资源.zip

    compass-core, 将分布式系统部署自动化到Baremetal资源 指南针概述Compass作为一种独立的部署自动化系统,简化了 Openstack 。Ceph等各种分布式系统的复杂和易出错的部署过程。 它极大地减少了数据中心服务器管理的...

    compass2简单例子

    通过这个 "compass2简单例子",你可以学习如何创建一个新的 Compass 项目,编辑 `config.rb` 文件,编写 Sass 代码,然后使用 Compass 命令编译成 CSS。同时,你还可以看到 Compass 如何简化 CSS 开发,特别是通过其...

    Lucene+compass学习资料

    《深入探索Lucene+Compass技术与Ajax应用》 在当今的互联网开发中,数据检索和实时交互性已经成为不可或缺的功能。Lucene作为一个强大的全文搜索引擎库,为开发者提供了高效的文本搜索能力;Compass作为Lucene的一...

    compass学习笔记

    Compass概念: 1:Compass相当于hb的SessionFactory 2:CompassSession相当于hb的Session 3:CompassTransaction相当于hb的transaction。 &lt;br&gt;Compass也是采用CompassConfiguration(装载配置和映射文件...

    OpenStack Days China 2016 华为Wei Shao:Compass开源项目介绍

    Compass项目是由华为Wei Shao在2016年的中国OpenStack Days上介绍的一个开源项目。它的主要目标是提供一个简单、可扩展、...随着云计算和虚拟化技术的不断发展,Compass项目有望成为数据中心管理领域的重要工具之一。

    Compass技术文档

    Compass基于Lucene之上,类似于Hibernate之于JDBC的关系,提供了更高层次的封装,使得开发者能够更容易地集成搜索引擎到Java应用程序中。 - **OSEM**:OSEM (Object Search Engine Mapping) 是Compass提供的一个...

    compass 全文搜索

    7. **热部署**:在运行时,Compass允许修改配置和映射,无需重启应用即可生效。 学习和使用Compass全文搜索,你需要掌握以下几个关键知识点: 1. **Lucene基础知识**:理解Lucene的索引结构、倒排索引、Term和...

    完整compass工程+建库sql+学习资料

    通过查阅这两个文件,你可以深入理解Lucene的索引和搜索机制,以及Compass是如何在Lucene之上提供更高级别的抽象和便利的。 总的来说,这个压缩包是一个全面的Compass和Lucene学习资源,不仅提供了实践项目,还有...

    Compass学习文档1

    Compass 是一个强大的开源搜索引擎框架,它建立在 Lucene 的基础之上,为 Java 开发者提供了更为简洁的搜索引擎 API。Compass 的设计目标是简化搜索引擎的集成,使其能够无缝地与现有的应用程序,如 Hibernate 和 ...

    Compass简单学习

    【标题】"Compass简单学习"所涉及的知识点主要集中在两个方面:一是对Compass工具的理解,二是如何使用Compass进行源码分析和开发辅助。Compass是一个强大的样式表(CSS)编译器,它基于Sass语言,帮助开发者更高效...

    compass完整可用项目

    此项目对于理解Compass和Lucene在实际应用中的使用,以及如何结合SSH框架开发Java Web应用具有很高的学习价值。通过分析和研究这个项目,开发者可以深入掌握Java全文搜索引擎的实现,以及如何在SSH框架下组织和管理...

    compass_使用详解.pdf compass_教程 compass_试用案例

    #### 二、Compass 与 Lucene 和 Hibernate 的关系 ##### 2.1 Lucene 简介 - **Lucene** 是一个高性能的全文检索引擎库,支持文本索引和查询。 - **优点**:灵活高效,适用于大量数据的全文检索。 - **缺点**:直接...

    指南针Compass

    《指南针Compass详解》 在信息技术领域,指南针(Compass)可能并不是我们传统意义上的地理定位工具,而是一款在软件开发中广泛使用的工具,尤其是针对Web开发中的样式表(CSS)管理。 Compass 是一个基于 Sass 的 ...

    windows版本 mongodb可视化管理mongodb-compass-1.43.0-win32-x64.exe

    mongodb可视化管理mongodb-compass-1.43.0-win32-x64.exe mongodb compass官网下载地址:https://www.mongodb.com/try/download/compass mongodb相关下载地址: mongodb社区版:...

    compass教程.pdf

    COMPASS 教程Pdf COMPASS 是一款专业的油气田设计和生产软件,主要用于油气田的规划、设计和生产过程。下面是 COMPASS 的一些重要知识点: 1. COMPASS WELLPLAN FOR WINDOWS 功能简介:COMPASS 的核心功能包括 ...

Global site tag (gtag.js) - Google Analytics