2.1、Compass附带例子的部署
部署环境:
1、IDE:MyEclipse5.0
2、数据库:MySQL5.0
3、JDK:jdk1.5.0_02
4、应用服务器:apache-tomcat-5.5.12
2.1.1、Library的部署
1、新建Java项目Library。
1)、把compass-2.0.0\samples\library\src\java下面的内容copy到src下
2)、把compass-2.0.0\samples\library\src\test下面的内容copy到src下
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.2、petclinic的部署
1、新建Web项目petclinic,最好是UTF-8格式。
1)、把compass-2.0.0\samples\petclinic\src\java下面的内容copy到src下。
2)、把compass-2.0.0\samples\petclinic\war下面的内容copy到WebRoot下。
3)、把compass-2.0.0\samples\petclinic\war\WEB-INF\classes下面的内容copy到src下。
注意1:别忘了3),否则会报以下错误。
java.util.MissingResourceException: Can't find bundle for base name views, locale zh_CN at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:837)
注意2:test内容别加到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、代码修改
本教程采用MySQL的JDBC连接方式。
所以需要经过以下步骤修改代码。文件均在WEB-INF/下。
1)、web.xml中contextConfigLocation的Spring加载文件修改成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(参考ConnectionPropertiesImpl类953行).这里有2个方法解决,修改compass源码,或增加这个参数。
3)、修改applicationContext-jdbc.xml中selectQuery,versionQuery中的4处sql错误。
把原来针对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
分享到:
相关推荐
在实际应用中,我们可以按照以下步骤来使用Compass: 1. **安装与依赖**:将Compass库添加到项目中,根据所使用的ORM框架选择相应的版本。 2. **配置ORM集成**:配置Compass与ORM框架的连接,指定数据源和索引存储...
【Compass原理深入学习笔记】 Compass是一款基于Apache Lucene的全文搜索引擎框架,它为开发者提供了更高级别的抽象层,简化了搜索引擎的集成工作。在理解Compass之前,我们需要先了解全文检索的基本概念和原理。 ...
compass-core, 将分布式系统部署自动化到Baremetal资源 指南针概述Compass作为一种独立的部署自动化系统,简化了 Openstack 。Ceph等各种分布式系统的复杂和易出错的部署过程。 它极大地减少了数据中心服务器管理的...
通过这个 "compass2简单例子",你可以学习如何创建一个新的 Compass 项目,编辑 `config.rb` 文件,编写 Sass 代码,然后使用 Compass 命令编译成 CSS。同时,你还可以看到 Compass 如何简化 CSS 开发,特别是通过其...
《深入探索Lucene+Compass技术与Ajax应用》 在当今的互联网开发中,数据检索和实时交互性已经成为不可或缺的功能。Lucene作为一个强大的全文搜索引擎库,为开发者提供了高效的文本搜索能力;Compass作为Lucene的一...
Compass概念: 1:Compass相当于hb的SessionFactory 2:CompassSession相当于hb的Session 3:CompassTransaction相当于hb的transaction。 <br>Compass也是采用CompassConfiguration(装载配置和映射文件...
Compass项目是由华为Wei Shao在2016年的中国OpenStack Days上介绍的一个开源项目。它的主要目标是提供一个简单、可扩展、...随着云计算和虚拟化技术的不断发展,Compass项目有望成为数据中心管理领域的重要工具之一。
Compass基于Lucene之上,类似于Hibernate之于JDBC的关系,提供了更高层次的封装,使得开发者能够更容易地集成搜索引擎到Java应用程序中。 - **OSEM**:OSEM (Object Search Engine Mapping) 是Compass提供的一个...
7. **热部署**:在运行时,Compass允许修改配置和映射,无需重启应用即可生效。 学习和使用Compass全文搜索,你需要掌握以下几个关键知识点: 1. **Lucene基础知识**:理解Lucene的索引结构、倒排索引、Term和...
通过查阅这两个文件,你可以深入理解Lucene的索引和搜索机制,以及Compass是如何在Lucene之上提供更高级别的抽象和便利的。 总的来说,这个压缩包是一个全面的Compass和Lucene学习资源,不仅提供了实践项目,还有...
Compass 是一个强大的开源搜索引擎框架,它建立在 Lucene 的基础之上,为 Java 开发者提供了更为简洁的搜索引擎 API。Compass 的设计目标是简化搜索引擎的集成,使其能够无缝地与现有的应用程序,如 Hibernate 和 ...
【标题】"Compass简单学习"所涉及的知识点主要集中在两个方面:一是对Compass工具的理解,二是如何使用Compass进行源码分析和开发辅助。Compass是一个强大的样式表(CSS)编译器,它基于Sass语言,帮助开发者更高效...
此项目对于理解Compass和Lucene在实际应用中的使用,以及如何结合SSH框架开发Java Web应用具有很高的学习价值。通过分析和研究这个项目,开发者可以深入掌握Java全文搜索引擎的实现,以及如何在SSH框架下组织和管理...
#### 二、Compass 与 Lucene 和 Hibernate 的关系 ##### 2.1 Lucene 简介 - **Lucene** 是一个高性能的全文检索引擎库,支持文本索引和查询。 - **优点**:灵活高效,适用于大量数据的全文检索。 - **缺点**:直接...
《指南针Compass详解》 在信息技术领域,指南针(Compass)可能并不是我们传统意义上的地理定位工具,而是一款在软件开发中广泛使用的工具,尤其是针对Web开发中的样式表(CSS)管理。 Compass 是一个基于 Sass 的 ...
mongodb可视化管理mongodb-compass-1.43.0-win32-x64.exe mongodb compass官网下载地址:https://www.mongodb.com/try/download/compass mongodb相关下载地址: mongodb社区版:...
COMPASS 教程Pdf COMPASS 是一款专业的油气田设计和生产软件,主要用于油气田的规划、设计和生产过程。下面是 COMPASS 的一些重要知识点: 1. COMPASS WELLPLAN FOR WINDOWS 功能简介:COMPASS 的核心功能包括 ...