java - 使用java和intellij连接到postgresql的问题

标签 java postgresql gradle heroku

我的项目有问题。我正在尝试使用 postgresql 启动我的应用程序,但出现错误。我无法调用 build gradle,总是完成 BUILD FAILED。我给你看代码。 我不明白为什么会出现这个错误,因为我花了一周时间没有出现问题,并且 gradle 构建也成功了。我刚刚将应用程序属性文件更改回 MySQL。当我再次想使用 postgresql 时,出现了这些错误。我正在寻求帮助,感谢您的每一个回答

我的应用程序属性

spring.jpa.hibernate.ddl-auto=update
spring.jpa.database=postgresql
spring.datasource.url=${JDBC_DATABASE_URL}
spring.datasource.username=${JDBC_DATABASE_USERNAME}
spring.datasource.password=${JDBC_DATABASE_PASSWORD}

我的build.gradle

plugins {
    id 'org.springframework.boot' version '2.1.3.RELEASE'
    id 'java'
}

apply plugin: 'io.spring.dependency-management'

//应用插件:'war'

group = 'com.crud'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.8'
    annotationProcessor 'org.projectlombok:lombok:1.18.8'
    implementation 'org.springframework.boot:spring-boot-starter-data- 
   jpa'
    //runtimeOnly 'mysql:mysql-connector-java'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'io.springfox:springfox-swagger2:2.7.0'
    implementation 'io.springfox:springfox-swagger-ui:2.7.0'
    testImplementation 'org.springframework.boot:spring-boot-starter- 
   test'
    runtimeOnly 'org.postgresql:postgresql'
    implementation 'org.springframework.boot:spring-boot-starter- 
   mail:2.1.5.RELEASE'
    //providedRuntime 'org.springframework.boot:spring-boot-starter- 
    tomcat'
}

当我运行应用程序时...

2019-05-26 19:19:36.139  INFO 14288 --- [           main] 
o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2019-05-26 19:19:36.152  INFO 14288 --- [           main] 
ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re- 
run your application with 'debug' enabled.
2019-05-26 19:19:36.162 ERROR 14288 --- [           main] 
o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
creating bean with name 
'org.springframework.boot.autoconfigure.
orm.jpa.HibernateJpaConfiguration': 
Unsatisfied dependency expressed through constructor parameter 0; nested 
exception is org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'dataSource' defined in class path resource 



 [org/springframework/boot/autoconfigure
/jdbc/DataSourceConfiguration$Hikari.c 
lass]: Bean instantiation via factory method failed; nested exception is 
org.springframework.beans.BeanInstantiationException: Failed to 
instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 
'dataSource' threw exception; nested exception is 
 java.lang.IllegalArgumentException: URL must start with 'jdbc'
at 



org.springframework.beans.factory.
support.ConstructorResolver.createArgumentA 
rray(ConstructorResolver.java:769) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 



org.springframework.beans.factory.
support.ConstructorResolver.autowireConstru 
ctor(ConstructorResolver.java:218) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 




 org.springframework.beans.factory.
support.AbstractAutowireCapableBeanFactory. 
autowireConstructor(AbstractAutowireCapableBeanFactory.java:1325) ~ 
[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 





org.springframework.beans.factory.
support.AbstractAutowireCapableBeanFactory. 
createBeanInstance(AbstractAutowireCapableBeanFactory.java:1171) ~ 
[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 




 org.springframework.beans.factory.
support.AbstractAutowireCapableBeanFactory. 
doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 




 org.springframework.beans.factory.
 support.AbstractAutowireCapableBeanFactory. 
 createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans- 
 5.1.5.RELEASE.jar:5.1.5.RELEASE]
 at 




org.springframework.beans.factory.
support.AbstractBeanFactory.lambda$doGetBea 
n$0(AbstractBeanFactory.java:320) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 


org.springframework.beans.factory.
support.DefaultSingletonBeanRegistry.getSin 
gleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 



org.springframework.beans.factory.
support.AbstractBeanFactory.doGetBean(Abstr 
actBeanFactory.java:318) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 


org.springframework.beans.factory.
support.AbstractBeanFactory.getBean(Abstrac 
tBeanFactory.java:199) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.beans.factory.
support.ConstructorResolver.instantiateUsin 
gFactoryMethod(ConstructorResolver.java:392) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

 org.springframework.beans.factory.support.
AbstractAutowireCapableBeanFactory. 

instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.
java:1305) 
 ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.beans.factory.support.
AbstractAutowireCapableBeanFactory.
createBeanInstance(AbstractAutowireCapableBeanFactory.java:1144) ~ 
[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.support.
AbstractAutowireCapableBeanFactory.
doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.beans.factory.
support.AbstractAutowireCapableBeanFactory.
createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.
support.AbstractBeanFactory.
lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 


org.springframework.beans.factory.
support.DefaultSingletonBeanRegistry.
getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.beans.factory.
support.AbstractBeanFactory.
doGetBean(AbstractBeanFactory.java:318) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.
support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) 
~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.context.support
.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1105) 
~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.context.support
.AbstractApplicationContext.
finishBeanFactoryInitialization(AbstractApplicationContext.java:867) ~ 
[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
 org.springframework.context.support
.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) 
~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at

org.springframework.boot.web.servlet.
context.ServletWebServerApplicationContext.
refresh(ServletWebServerApplicationContext.java:142) ~[spring-boot- 
2.1.3.RELEASE.jar:2.1.3.RELEASE]
at 
org.springframework.boot.SpringApplication
.refresh(SpringApplication.java:775) ~[spring-boot- 
2.1.3.RELEASE.jar:2.1.3.RELEASE]
at 
 org.springframework.boot.SpringApplication
.refreshContext(SpringApplication.java:397) ~[spring-boot- 
2.1.3.RELEASE.jar:2.1.3.RELEASE]
at 
org.springframework.boot.SpringApplication
.run(SpringApplication.java:316) ~[spring-boot- 
2.1.3.RELEASE.jar:2.1.3.RELEASE]
at 

org.springframework.boot.SpringApplication
.run(SpringApplication.java:1260) ~[spring-boot- 
2.1.3.RELEASE.jar:2.1.3.RELEASE]
at 
 org.springframework.boot.SpringApplication
.run(SpringApplication.java:1248) ~[spring-boot- 
2.1.3.RELEASE.jar:2.1.3.RELEASE]
at 
com.crud.tasks.TasksApplication.
main(TasksApplication.java:11) ~[classes/:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'dataSource' defined in class path resource 

[org/springframework/boot/autoconfigure
/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via 
factory method failed; nested exception is 
org.springframework.beans.BeanInstantiationException: Failed to 
instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 
'dataSource' threw exception; nested exception is 
java.lang.IllegalArgumentException: URL must start with 'jdbc'
at 
org.springframework.beans.factory.
support.ConstructorResolver.instantiate(ConstructorResolver.java:627) ~ 
[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.beans.factory.
support.ConstructorResolver.
instantiateUsingFactoryMethod(ConstructorResolver.java:607) ~[spring- 
beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.beans.factory.
support.AbstractAutowireCapableBeanFactory.
instantiateUsingFactoryMethod
(AbstractAutowireCapableBeanFactory.java:1305) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.beans.factory.
support.AbstractAutowireCapableBeanFactory.
createBeanInstance(AbstractAutowireCapableBeanFactory.java:1144) ~ 
[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.beans.factory.
support.AbstractAutowireCapableBeanFactory.
doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.beans.factory.
support.AbstractAutowireCapableBeanFactory.
createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 
org.springframework.beans.factory.
support.AbstractBeanFactory.
lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.
support.DefaultSingletonBeanRegistry.
getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.
support.AbstractBeanFactory.
doGetBean(AbstractBeanFactory.java:318) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.
support.AbstractBeanFactory.
getBean(AbstractBeanFactory.java:199) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.config
.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) ~ 
[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.
support.DefaultListableBeanFactory.
doResolveDependency(DefaultListableBeanFactory.java:1247) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

 org.springframework.beans.factory.
 support.DefaultListableBeanFactory.
 resolveDependency(DefaultListableBeanFactory.java:1167) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.support.
ConstructorResolver.
resolveAutowiredArgument(ConstructorResolver.java:857) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.
support.ConstructorResolver.
createArgumentArray(ConstructorResolver.java:760) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
... 28 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed 
to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 
'dataSource' threw exception; nested exception is 
java.lang.IllegalArgumentException: URL must start with 'jdbc'
at 

org.springframework.beans.factory.
support.SimpleInstantiationStrategy.
instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.beans.factory.
support.ConstructorResolver.instantiate(ConstructorResolver.java:622) ~ 
[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
... 42 common frames omitted
Caused by: java.lang.IllegalArgumentException: URL must start with 'jdbc'
at org.springframework.util.Assert.isTrue(Assert.java:118) ~[spring-core- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
at 

org.springframework.boot.jdbc.DatabaseDriver.
fromJdbcUrl(DatabaseDriver.java:280) ~[spring-boot- 
2.1.3.RELEASE.jar:2.1.3.RELEASE]
at 

org.springframework.boot.autoconfigure.
jdbc.DataSourceProperties.
determineDriverClassName(DataSourceProperties.java:230) ~[spring-boot- 
autoconfigure-2.1.3.RELEASE.jar:2.1.3.RELEASE]
at 
org.springframework.boot.autoconfigure
.jdbc.DataSourceProperties.
initializeDataSourceBuilder(DataSourceProperties.java:176) ~[spring-boot- 
autoconfigure-2.1.3.RELEASE.jar:2.1.3.RELEASE]
at 

org.springframework.boot.autoconfigure.
jdbc.DataSourceConfiguration.
createDataSource(DataSourceConfiguration.java:43) ~[spring-boot- 
autoconfigure-2.1.3.RELEASE.jar:2.1.3.RELEASE]
at 


org.springframework.boot.autoconfigure.
jdbc.DataSourceConfiguration$Hikari.
dataSource(DataSourceConfiguration.java:83) ~[spring-boot-autoconfigure- 
2.1.3.RELEASE.jar:2.1.3.RELEASE]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method) ~[na:na]
at 
java.base/jdk.internal.reflect.
NativeMethodAccessorImpl.
invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at 
java.base/jdk.internal.reflect.
DelegatingMethodAccessorImpl.
invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at 
org.springframework.beans.
factory.support.SimpleInstantiationStrategy.
instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans- 
5.1.5.RELEASE.jar:5.1.5.RELEASE]
... 43 common frames omitted

当我运行 gradle build 时...

Task :test

com.crud.tasks.TasksApplicationTests > contextLoads FAILED
java.lang.IllegalStateException
    Caused by: 
org.springframework.beans.factory.UnsatisfiedDependencyException
        Caused by: 
org.springframework.beans.factory.BeanCreationException
            Caused by: 
org.springframework.beans.BeanInstantiationException
                Caused by: java.lang.IllegalArgumentException

7 tests completed, 1 failed

最佳答案

我认为日志说明了问题所在。

'dataSource' threw exception; nested exception is java.lang.IllegalArgumentException: URL must start with 'jdbc' at

不清楚这个变量的值是什么${JDBC_DATABASE_URL}

但它应该是这样的:

jdbc:postgresql://localhost:5432/dbname?currentSchema=dbschema

关于java - 使用java和intellij连接到postgresql的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56315981/

相关文章:

c# - 随机角度发生器

java - 无法在 Android Studio 中使用 CoordinatorLayout

php - 执行 SELECT 查询的 PHP 脚本的奇怪行为

firebase - 进程异常: Process "...\gradlew.bat" exited abnormally: Starting a Gradle Daemon (subsequent builds will be faster)

android - 通过Gradle执行本地单元测试时,为什么BuildConfig.DEBUG设置为false?

java - 内部类的目的是什么

java - 如何设置“导航”和“当前 Activity ”的“返回”选项

postgresql - Moqui 1.4.1 Postgresql配置

postgresql - 将平面 jsonb 迁移到 hstore

copy - Gradle - 复制/重命名文件 - 使所有文件的文件大小/字节为 0