산을 넘고 물을 건너다
우선 당연히compass의 공식 Sample부터 시작하여 버전:compass-2.1compass의samle에는 두 개의 demo가 있는데 하나는 클라이언트 기반library이고 하나는 웹+데이터베이스 기반의petclinic이다.정부의 데모로서 구멍이 빈번하다니 정말 엄숙하지 않다.
먼저 library를 말하고 Library Tests에서자바의 77번째 줄에 기묘한 이름의 Simple Date Format sdf = new Simple Date Format(Library. Meta Data. Birthdate. Format)가 나타납니다.그 결과 클래스를 찾을 수 없었다. 그녀를 막론하고 어쨌든 날짜 포맷 문제였다. 공식적으로 쓰는 방법으로 바꾸었다. SimpleDateFormatsdf = new SimpleDateFormat("yyy-MM-DD").다행히 문제 하나만 있어서 테스트할 수 있어요.게다가petclinic를 성공적으로 배치하려면 신경을 써야 한다.공식 Samples\petclinic\아래에 Warr가 있는데, 이치대로라면 데이터베이스 연결을 조금만 설정하면 run이 될 수 있습니다.하지만 너무 sorry, 이러면 안 돼.그렇지 않으면 네가 인내심을 가지고 해 볼 수 있다.따라서 원본 프로그램을 이용하여 다시 컴파일하여 발표하는 것이 가장 좋다.먼저 제 배치 환경을 소개하겠습니다.spring2.5+hibernate3.2+mysql5.1+tomcat6.0+compass2.1, 환경에 따라 다를 수 있습니다.먼저 다음과 같은 순서를 밟아라.
1.새 웹 프로젝트를 만듭니다. 예를 들어 mystu라고 합니다. 그리고samples\petclinic\src\java에서 모든 것을 mystu의 src 아래로 복사합니다.samples\petclinic\src\test 아래의 모든 copy를 src 아래로 이동합니다.Samples\petclinic\war에서 모든 것을 mystu의 WebRoot에 복사합니다.Samples\petclinic\war\WEB-INF\classes의 네 개의 자원 파일을 src 아래로 복사합니다.
2.작은 버그를 수정합니다: org.compass.sample.petclinic 의 AbstractClientTests.java에 정의되지 않은 방법이 있습니다.모든hits를.resource(0).get(Petclinic.MetaData.LastName.Name)를hits로 변경합니다.resource(0).getValue(Petclinic.MetaData.LastName.Name)
3.자체 분류 라이브러리.compass가 가장 나를 비난하는 것은 인용하지 않은library일 것이다.그리고readme나document 같은 설명도 없습니다.나는 끊임없이 운행을 통해 excepion이 나타나고 부족한 종류를 하나하나 수동으로 넣어서 구우이호의 힘을 들였다.마침내 필요한 라이브러리를 보완했다.필요한 lib은 다음과 같습니다.
spring-2.5.5.jar
spring-webmvc.jar
hibernate3.jar
antlr-2.7.6.jar
dom4j.jar
commons-logging.jar
log4j.jar
lucene-core-2.4.0.jar
compass-2.1.1.jar
jstl.jar
standard.jar
commons-collections-3.2.1.jar
db-ojb-1.0.4.jar
mysql-connector-java-5.0.3-bin
jta.jar
이 library들은 반드시 필요합니다. 그렇지 않으면 실행에 각각 문제가 발생할 수 있습니다.마지막으로 org 때문에.compass.sample.petclinic.ojb의 PersistenceBrokerClinic은 org를 인용했습니다.springframework.orm.ojb.support.PersistenceBrokerDaoSupport 패키지 spring2.5의 orm에서 지원을 제공하지 않습니다. 자세한 내용은 http://forum.springframework.org/archive/index.php/t-30463.html(주: 모델에서 관련 가방이 있다고 했지만 찾지 못했습니다) 그래서 저는 Sample의ojb부서 delete를 삭제했습니다.그래서 이때db-ojb-2.0.4.jar은 있어도 되고 없어도 된다.
4.데이터베이스 가져오기:samples\petclinic\db\mysql에 initDB가 있습니다.txt, mysql에 로그인하면 source initDB.txt는 데이터베이스를 만들면 됩니다.또한samples\petclinic\db 아래의 populate DB를 이용할 수 있습니다.txt에서 원본 데이터를 가져옵니다.
5.그리고 데이터베이스 연결을 수정했습니다.WEB-INF/jdbc.properties.나는 mysql를 사용하기 때문에 mysql의 연결 설정을 사용했다.다음은comments를 제거한 후의 전체 설정입니다.
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/petclinic
jdbc.username=name
jdbc.password=pass
hibernate.dialect=org.hibernate.dialect.MySQLDialect
petclinic.jdbcImplBeanName=mysqlClinic
6.자, 여기까지 오면tomcat 발표를 시작할 수 있습니다.성공적으로 운행할 수 있게 되었다.운행이 시작된 후, 나는java를 만났다.lang.NumberFormatException.아마도 나는compass가 좋은 소스 개발 제품이라는 것을 부인할 수 없지만, 적어도 그의 Sample은 좋은 Sample이 아니다.
: exception, blog , , :
java.lang.ClassNotFoundException: javax.transaction.TransactionManager ( jta )
java.io.FileNotFoundException: class path resource [petclinic.hbm.xml] cannot be opened because it does not exist ( petclinic.hbm.xml src )
java.lang.ClassNotFoundException: org.apache.commons.collections.SequencedHashMap( commons-collections )
org.compass.core.config.ConfigurationException: DTD system id [http://www.compass-project.org/dtd/compass-core-mapping-2.2.dtd] not found at [/org/compass/core/compass-core-mapping-2.2.dtd]
( , compass2.2 compass src , 2.2 , , )
java.util.MissingResourceException: Can't find bundle for base name views, locale zh_CN
( src 。)
java.lang.ClassNotFoundException: antlr.ANTLRException
( antlr.jar )
java.lang.NumberFormatException: null( , )。
첨부 파일은 변경할 수 있는 실행 가능한 버전입니다. javaeye 업로드 파일 10m의 제한 때문에 jar의compass를 제거했습니다.jar. 실행할 필요가 있으면db에서 데이터베이스 파일로 데이터베이스를 구축하고 jdbc 연결을 설정하면 됩니다.
자바아이의chanson의 블로그http://chanson.iteye.com/blog/204180는 저에게 큰 참고를 해 주셔서 감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.