Java 无法使用gradle和jdk 11构建jar

Java 无法使用gradle和jdk 11构建jar,java,testing,gradle,Java,Testing,Gradle,当我尝试使用gradle和jdk 11创建jar构建时,总会出现以下错误: 10:53:41: Executing task 'build'... > Task :compileJava > Task :compileJava UP-TO-DATE > Task :processResources UP-TO-DATE > Task :classes UP-TO-DATE > Task :bootJar UP-TO-DATE > Task :jar SKIP

当我尝试使用gradle和jdk 11创建jar构建时,总会出现以下错误:

10:53:41: Executing task 'build'...

> Task :compileJava
> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :bootJar UP-TO-DATE
> Task :jar SKIPPED
> Task :assemble UP-TO-DATE
> Task :compileTestJava UP-TO-DATE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
> Task :test FAILED
> Task :jacocoTestReport UP-TO-DATE

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> failed to read class file /home/rodrigo/Projetos/Gaia/apipessoas/build/classes/java/test/com/rjdesenvolvimento/apipessoas/ApipessoasApplicationTests.class

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
See https://docs.gradle.org/4.8.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 1m 9s
6 actionable tasks: 1 executed, 5 up-to-date
Unsupported class file major version 55
10:54:50: Task execution finished 'build'.
我迷路了,需要帮助。我尝试将mavencentral()存储库更改为jcenter,但没有成功

当我使用JDK1.8时,不会发生错误,但是我需要JDK11,boss orders=(

添加新信息**************************

13:29:00:正在执行任务“生成”

任务:将ejava编译为最新版本

任务:处理最新的资源

任务:更新课程

任务:更新bootJar

任务:jar

任务:组装

任务:compileTestJava最新版本

任务:processTestResources无源

任务:测试最新的类

任务:测试

警告:发生了非法的反射访问操作 警告:org.springframework.cglib.core.reflectils$1(文件:/home/rodrigo/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.0.9.RELEASE/9f9a828936d81afd49a603bda9cc1aed863a0d85/spring-core-5.0.9.RELEASE.jar)对方法java.lang.ClassLoader.defineClass(java.lang.String.String,字节[],int,int,java.security.ProtectionDomain) 警告:请考虑将此报告给org。Spring Frask.CGLUB.Corr.TraceCtudies 1美元。 警告:使用--invalize access=warn以启用对进一步非法访问操作的警告 警告:所有非法访问操作将在未来版本中被拒绝

com.rjdesenvolvimento.apipessoas.ApipessoasApplicationTests>contextLoads失败

java.lang.IllegalStateException

原因:org.springframework.beans.factory.unsatifiedDependencyException

原因:org.springframework.beans.factory.unsatifiedDependencyException

原因:org.springframework.beans.factory.BeanCreationException

原因:org.springframework.beans.factory.BeanCreationException

原因:org.springframework.beans.factory.BeanCreationException

原因:org.springframework.jdbc.datasource.init.ScriptStatementFailedException

原因:org.postgresql.util.psqlsexception

1个测试完成,1个失败

任务:测试失败 任务:jacocoTestReport

失败:生成失败,出现异常

出了什么问题: 任务“:test”的执行失败。 测试失败。请参阅以下位置的报告:file:///home/rodrigo/Projetos/Gaia/apipessoas/build/reports/tests/test/index.html

尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整的细节

得到更多的帮助

此版本中使用了不推荐的Gradle功能,使其与Gradle 5.0不兼容。 使用“--warning mode all”显示单个弃用警告。 看

生成在10秒内失败 7项可执行任务:3项已执行,4项最新 测试失败。请参阅以下位置的报告:file:///home/rodrigo/Projetos/Gaia/apipessoas/build/reports/tests/test/index.html
13:29:11:任务执行完成了“构建”。

您使用的是哪个版本的Gradle?通过查看您的日志,我可以猜到它是
4.8.1
。根据,他们修复了Gradle,使它在
4.10.2
版本中与Java 11一起工作,所以您所要做的就是将Gradle升级到这个版本或更高版本。如果您使用的是Gradle包装器,您只需编辑项目中的
gradle/wrapper/gradle wrapper.properties
文件,然后将
distributionUrl
更新为以下文件:

distributionUrl=https://services.gradle.org/distributions/gradle-4.10.2-all.zip
您也可以在项目目录中通过以下方式执行此操作:

gradle wrapper --gradle-version 4.10.2
它应该更新或创建您的
gradle wrapper.properties
文件

完成后,您可以调用包装器:

./gradlew clean build

嗯,
Task:jar跳过了
-尝试强制启用它并修复您的测试类;)谢谢您的回答。现在显示新错误。我给问题添加了更多细节。谢谢你的回答。现在显示新错误。我为这个问题添加了更多细节。似乎您需要将Spring版本升级到
5.1
或更高版本,或者向您的构建中添加其他参数来修复此问题。现在您有了Spring
5.0.9
。看看这个答案:警告消失了。但是contextloads的错误仍然存在。请查看日志。它说:
com.rjdesenvolvimento.apipessoas.ApipessoasApplicationTests>contextLoads失败的java.lang.IllegalStateException,原因是:org.springframework.beans.factory.UnsatisfiedDependencyException
。在你的项目中,这是一个失败的测试。我不知道那里出了什么问题,因为我还没有看到源代码。我想您必须向某个bean添加依赖项。我不知道是集成还是单元测试。在单元测试中,可以模拟这种依赖关系-例如,使用Mockito。