我很想看看Firebird与Hibernate的性能,但我无法让它正常运行。我在pom.xml中添加了:
<dependency>
<groupId>net.sf.squirrel-sql.thirdparty-non-maven</groupId>
<artifactId>jaybird</artifactId>
<version>2.1.6</version>
</dependency>当我运行它的时候,我总是得到:
java.lang.ClassNotFoundException: javax.resource.ResourceException我尝试添加所有类型的javax、javaee和其他依赖项(通过Maven),但我无法运行它。使用PostgreSQL,我没有任何问题,一切都像它应该的那样工作。
运行在Apache Tomcat 7.0.26上。
发布于 2012-03-10 23:06:25
“问题”是Jaybird在内部依赖于资源适配器的JavaEE概念,因此需要来自JavaEE的一些类(特别是包含javax.resource包(和子包)的类)。您需要包含一个JavaEE jar,或者使用
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdk18</artifactId>
<version>3.0.5</version>这应该会自动下载所需的依赖项。
如果所有方法都失败了,请从http://www.firebirdsql.org/en/jdbc-driver/下载发行版,并使用lib文件夹中的connector-api-1.5.jar。
顺便说一句,我希望在Jaybird 5中消除这种依赖。
免责声明:我是Jaybird的开发者之一
发布于 2012-09-06 19:09:55
我们会弄清楚这一点:
假设您想要使用3,如果您使用firebird,则必须执行的步骤很少
http://sourceforge.net/projects/firebird/files/firebird-jca-jdbc-driver/2.2.0-release-jdk16/Jaybird-2.2.0JDK_1.6.zip/download
警告:不要复制巨大的j2eeapi.jar,因为它们包含了从tomcat到servlet-api.jar的违规类
就这样。将配置放到context.xml中,就这样了
<Resource
name="jdbc/SOME_NAME"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 'NOW' from RDB$DATABASE"
validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
maxActive="100"
minIdle="10"
maxWait="10000"
initialSize="10"
removeAbandonedTimeout="60"
removeAbandoned="true"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
jmxEnabled="true"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
username="sysdba"
password="masterke"
driverClassName="org.firebirdsql.jdbc.FBDriver"
url="jdbc:firebirdsql:IP:ALIAS?lc_ctype=UTF-8"
/>https://stackoverflow.com/questions/9646883
复制相似问题