当我尝试使用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,但没有成功。
当我使用jdk 1.8时不会发生错误,但是我需要jdk 11,老板命令=(
添加新信息******************************
13:29:00:正在执行任务“构建” ...
任务:compileJava更新
任务:processResources截止日期
任务:分类为最新
任务:bootJar截止日期
任务:jar
任务:组装
任务:compileTestJava截止日期
任务:processTestResources无资源
任务:testClasses截止日期
任务:test
警告:发生了非法的反射访问操作 警告:org.springframework.cglib.core.ReflectUtils $ 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,byte [],int,int,java.security.ProtectionDomain) 警告:请考虑将此报告给org.springframework.cglib.core.ReflectUtils $ 1的维护者 警告:使用--illegal-access = warn启用有关进一步非法反射访问操作的警告 警告:在将来的版本中,所有非法访问操作都将被拒绝
com.rjdesenvolvimento.apipessoas.ApipessoasApplicationTests> contextLoads失败
java.lang.IllegalStateException
原因:org.springframework.beans.factory.UnsatisfiedDependencyException
原因:org.springframework.beans.factory.UnsatisfiedDependencyException
由以下原因引起:org.springframework.beans.factory.BeanCreationException
由以下原因引起:org.springframework.beans.factory.BeanCreationException
由以下原因引起:org.springframework.beans.factory.BeanCreationException
由以下原因引起:org.springframework.jdbc.datasource.init.ScriptStatementFailedException
由以下原因引起:org.postgresql.util.PSQLException
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”来显示各个弃用警告。 参见https://docs.gradle.org/4.10.2/userguide/command_line_interface.html#sec:command_line_warnings
10秒内失败 7个可执行的任务:3个已执行,4个最新 测试失败。请参阅以下报告:file:///home/rodrigo/Projetos/Gaia/apipessoas/build/reports/tests/test/index.html 13:29:11:任务执行完成了“构建”。
答案 0 :(得分:3)
您正在使用哪个版本的Gradle?通过查看您的日志,我可以猜到它是4.8.1
。根据{{3}},他们修复了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