spring-boot-starter-data-jpa 以非零退出值 1 结束

Posted

技术标签:

【中文标题】spring-boot-starter-data-jpa 以非零退出值 1 结束【英文标题】:spring-boot-starter-data-jpa gives finished with non-zero exit value 1 【发布时间】:2021-01-17 11:57:16 【问题描述】:

我已经在 windows 机器上设置了 spring boot 项目。 配置:Windows 10 |爪哇 8 实施 'org.springframework.boot:spring-boot-starter-data-jpa' 使用这个插件我收到错误

Execution failed for task ':DemoApplication.main()'.
> Process 'command 'C:/Program Files/Java/jdk1.8.0_231/bin/java.exe'' finished with non-zero exit value 1

尝试用谷歌搜索问题,但没有成功。

如果该插件可以正常工作,则仅对该插件发出问题。

plugins 
id 'org.springframework.boot' version '2.3.4.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'


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

repositories 
  mavenCentral()


dependencies 
  implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
  implementation 'org.springframework.boot:spring-boot-starter-web'
 testImplementation('org.springframework.boot:spring-boot-starter-test') 
    exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
  
 

 test 
  useJUnitPlatform()
  

【问题讨论】:

可能是issue with the different versions,但没有更多细节,很难提供帮助。否则我也可以推荐Spring Initializr。 @flaxel 版本没有问题,同样是从 Spring Initializr 创建的。我也没有得到比这个和相同项目在 Mac 上运行良好的更多细节。问题仅出在 Windows 上。 但也许您可以发布更多您的项目,例如 pom.xml 文件。 已添加build.gradle 您可以运行日志级别设置为 DEBUG 的应用并发布日志吗? 【参考方案1】:

我在本地从spring initializr 创建了一个项目,其依赖项与您在 build.gradle 中定义的相同。

这是我发现的:-

1. 我尝试运行该应用程序,但失败了。在查看日志之后,似乎 spring 正在尝试为数据层初始化 bean(这是我们添加 starter-jpa 时所期望的),但由于我们没有配置任何数据库,所以它失败了。

2. 我添加了一个嵌入式 h2 database 依赖项(如果未启用自动导入,请进行 gradle 刷新)。然后我重新启动了服务器,它工作正常。如果您不想使用嵌入式数据库,您可以配置您正在使用的数据库。下面是我的build.gradle

plugins 
    id 'org.springframework.boot' version '2.3.4.RELEASE'
    id 'io.spring.dependency-management' version '1.0.10.RELEASE'
    id 'java'


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

repositories 
    mavenCentral()


dependencies 
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    // https://mvnrepository.com/artifact/com.h2database/h2
    implementation group: 'com.h2database', name: 'h2', version: '1.3.148'

    testImplementation('org.springframework.boot:spring-boot-starter-test') 
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    


test 
    useJUnitPlatform()


【讨论】:

【参考方案2】:

好的,所以这似乎编译一次您在 application.properties 中定义

spring.datasource.url=url
spring.datasource.username=user
spring.datasource.password=pass

我不确定为什么这现在只是我的问题,正如我在已删除的评论中所说(我可能会添加),我有另一个项目列出了依赖关系但未配置(数据库设置)它编译没有问题。

不管怎样,先给它,让我知道它是否有效。如果没有,我会再玩一次,看看能不能帮到你。

【讨论】:

以上是关于spring-boot-starter-data-jpa 以非零退出值 1 结束的主要内容,如果未能解决你的问题,请参考以下文章