[英]Spring Boot non-embedded Derby database?
如何配置 Spring Boot 以連接到基於網絡的 Derby 數據庫? 我不希望使用嵌入式 Derby DB,但它一直在嘗試加載 EmbeddedDriver 類。
java.sql.SQLException: Unable to load class: org.apache.derby.jdbc.EmbeddedDriver from ClassLoader:sun.misc.Launcher$AppClassLoader@4d6c3502;ClassLoader:sun.misc.Launcher$AppClassLoader@4d6c3502
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:280)
我的 application.properties 中有以下內容:
spring.datasource.url=jdbc:derby://localhost:1527/MyTestDb
spring.datasource.username=Eric
spring.datasource.password=eric
spring.datasource.initialize=false
我的 pom 具有以下內容:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>10.11.1.1</version>
</dependency>
我的 Application.java 類是樣板文件:
@EnableAutoConfiguration
@Configuration
@ComponentScan
@EnableCaching
public class Application {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(Application.class);
app.setShowBanner(false);
app.run(args);
}
}
我需要做一些額外的特殊配置嗎?
正如@XtremeBiker 所暗示的那樣,我在 application.properties 文件中缺少驅動程序類名稱以強制 Spring 使用客戶端驅動程序而不是嵌入式驅動程序(默認情況下)
spring.datasource.url=jdbc:derby://localhost:1527/MyTestDb
spring.datasource.username=Eric
spring.datasource.password=eric
spring.datasource.initialize=false
spring.datasource.driver-class-name=org.apache.derby.jdbc.ClientDriver
以下配置對我有用
應用程序屬性
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.DerbyTenSevenDialect
spring.jpa.database-platform=org.hibernate.dialect.DerbyTenSevenDialect
spring.datasource.url=jdbc:derby://localhost:1527/MyDbTest
spring.datasource.driver-class-name=org.apache.derby.jdbc.ClientDriver
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
</dependency>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.