Java 无法使用gradle和jdk 11构建jar
当我尝试使用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
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
或更高版本,或者向您的构建中添加其他参数来修复此问题。现在您有了Spring5.0.9
。看看这个答案:警告消失了。但是contextloads的错误仍然存在。请查看日志。它说:com.rjdesenvolvimento.apipessoas.ApipessoasApplicationTests>contextLoads失败的java.lang.IllegalStateException,原因是:org.springframework.beans.factory.UnsatisfiedDependencyException
。在你的项目中,这是一个失败的测试。我不知道那里出了什么问题,因为我还没有看到源代码。我想您必须向某个bean添加依赖项。我不知道是集成还是单元测试。在单元测试中,可以模拟这种依赖关系-例如,使用Mockito。