当前位置: 首页 > 知识库问答 >
问题:

将Spring Boot Gradle项目导入Eclipse时遇到问题

宫弘亮
2023-03-14

我有一个Sprint启动项目,它是在另一个系统上构建的,我正试图将它导入到Eclipse(4.20.0)的一个新系统中,我遇到了一些问题。这是一个渐变Spring靴。我的身材。gradle文件在下面。我有jkd16.0。1在计算机上安装Windows 10。

我试着用gradlebuildship和STS插件导入它。当我尝试Buildship时,它在导入预览中失败,出现了一个大堆栈转储,顶行是:

org.gradle.tooling.BuildException: Could not fetch model of type 'GradleBuild' using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-6.8.3-bin.zip'.

当我尝试Gradle STS时,当我点击“构建模型”按钮时,我告诉我出现了错误,并检查日志文件。我发现其中有趣的是:

!ENTRY org.springsource.ide.eclipse.gradle.core 4 0 2021-06-18 17:38:25.575
!MESSAGE Could not determine java version from '16.0.1'.
!STACK 0
java.lang.IllegalArgumentException: Could not determine java version from '16.0.1'.

!MESSAGE Initialize project OrderCreate, Update preview failed due to an error in the referenced Gradle build.
!STACK 0
org.gradle.tooling.BuildException: Could not fetch model of type 'GradleBuild' using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-6.8.3-bin.zip'.

Caused by: org.gradle.internal.exceptions.LocationAwareException: Initialization script 'C:\Workspaces\Java\K2\.metadata\.plugins\org.eclipse.buildship.core\init.d\eclipsePlugin.gradle'
Could not compile initialization script 'C:\Workspaces\Java\K2\.metadata\.plugins\org.eclipse.buildship.core\init.d\eclipsePlugin.gradle'.

Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during semantic analysis: Unsupported class file major version 60

java.lang.IllegalArgumentException: Unsupported class file major version 60

!ENTRY org.springsource.ide.eclipse.gradle.core 4 0 2021-06-18 17:45:56.693
!MESSAGE Could not determine java version from '16.0.1'.
!STACK 0
java.lang.IllegalArgumentException: Could not determine java version from '16.0.1'.
!MESSAGE Not properly disposed SWT resource
!STACK 0
java.lang.Error: SWT Resource was not properly disposed

!MESSAGE Not properly disposed SWT resource
!STACK 0
java.lang.Error: SWT Resource was not properly disposed

我还试着从终点站建造它,以获得一些线索。这给了我“不支持的类文件主版本60”错误。

Could not compile settings file 'C:\Workspaces\Java\K2\OrderCreate\settings.gradle'.
> startup failed:
  General error during semantic analysis: Unsupported class file major version 60

这看起来真是一团糟。我从哪里开始解决这个问题?

plugins {
    id 'org.springframework.boot' version '2.4.5'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
    id 'eclipse'
    id "com.diffplug.eclipse.apt" version "3.29.1"
}

group = 'com.bw'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

ext {
    mapstructVersion = "1.4.2.Final"
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-artemis'
    implementation 'org.springframework.boot:spring-boot-starter-data-mongodb-reactive'
    implementation 'org.springframework.boot:spring-boot-starter-webflux'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'io.projectreactor:reactor-test'
    
    implementation("org.mapstruct:mapstruct:${mapstructVersion}")
    compileOnly "org.mapstruct:mapstruct-processor:${mapstructVersion}"
    annotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}"
    testAnnotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}"
    
    implementation('org.springframework.boot:spring-boot-starter-data-mongodb')
    testImplementation('de.flapdoodle.embed:de.flapdoodle.embed.mongo')
    implementation 'org.springframework.boot:spring-boot-starter-websocket'
    
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
}

test {
    useJUnitPlatform()
}

来自Gradle Buildship的错误:

org.gradle.tooling.BuildException: Could not fetch model of type 'GradleBuild' using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-6.8.3-bin.zip'.
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: org.gradle.internal.exceptions.LocationAwareException: Initialization script 'C:\Workspaces\Java\K2\.metadata\.plugins\org.eclipse.buildship.core\init.d\eclipsePlugin.gradle'
Could not compile initialization script 'C:\Workspaces\Java\K2\.metadata\.plugins\org.eclipse.buildship.core\init.d\eclipsePlugin.gradle'.
    
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: org.gradle.groovy.scripts.ScriptCompilationException: Could not compile initialization script 'C:\Workspaces\Java\K2\.metadata\.plugins\org.eclipse.buildship.core\init.d\eclipsePlugin.gradle'.
    at 

Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during semantic analysis: Unsupported class file major version 60

java.lang.IllegalArgumentException: Unsupported class file major version 60
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:196)
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:177)
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:163)
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:284)
    at org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
    at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:251)
    at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:189)

共有1个答案

邹涵畅
2023-03-14

看起来您正在使用Gradle 6。不支持在Java 16上运行的x。您可以降级到Java15或更早版本,或者升级到Gradle7。十、

如果您降级Java,您仍然可以使用Gradle的工具链支持在Java16上构建和运行您的应用。

如果您升级到Gradle 7. x,您也应该升级到Spring Boot 2.5. x,它增加了对Gradle 7的支持。

 类似资料:
  • 问题内容: 我是一位有抱负的Java程序员,希望在项目中使用JSON。我正在遵循一个编程教程(从书​​中),该教程要求我使用以下行将JSON导入到我的项目中: 但这产生了一个错误,因此我用以下代码替换了它: 这也会产生一个(不同的)错误: 导入org.json无法解析 我认为问题是我的Eclipse工作区中实际上没有JSON库。如何执行此操作,以便可以使用JSONArray?我找到了用于JSON的

  • 问题内容: 我有一个本地CMake项目,并且我想与它一起使用Eclipse IDE,以便通过提供自动完成功能和其他功能使我的开发更加轻松。我似乎找不到如何在Eclipse中导入CMake项目的方法。 PS:我愿意征求其他与CMake一起使用的IDE的建议。 问题答案: KDevelop是一个很棒的IDE,具有强大的CMake支持。 至于Eclipse-运行以下命令: 这将为您生成Eclipse项目

  • 问题内容: 我只是想知道,是否有可能同时将多个项目导入Eclipse。因为每当创建新工作区时,都必须将所需的项目从旧工作区导入到新创建的工作区中。 因此,很高兴知道是否存在同时导入多个项目的选项? 谢谢。 问题答案: 如果所有旧项目都存在于单个目录或单个父目录中,则可以执行 File- > Import …-> Existing Projects intoworkspace 。选择一个根目录,该目

  • 我习惯于使用Maven分发项目,通常,团队中的每个人(以及CI服务器)都可以依赖Maven进行打包、测试、运行等调试,但是,项目可以导入到Eclipse并通过主类启动(与Eclipse的Maven插件相反)。Spring-Boot就是一个很好的例子。导入这样的项目后,我可以只运行或调试主类。 然而,对于JavaFX11来说,编写一个配置所有必要依赖关系的pom.xml似乎很有效,但是当我将这样一个

  • 我确实检查了已经回答过的问题,这些问题的主题几乎与这个问题相同,但没有一个回答过的问题能够解决我的问题。 我已经在线搜索了大约4个小时,尝试了很多不同的方法来解决我的问题。。 我想在Java做一个乒乓游戏,现在我想导出我的项目,这样我就可以把它发给一些朋友,这样他就可以试试了。 我在这个项目中使用LWJGL,所以我确实在参考库和LWJGL中添加了一些JAR。jar添加了windows本机,它包含在

  • 问题内容: 我正在尝试导出Java项目。我可以通过使用选项导出-> Java-> JAR文件来创建JAR文件。我无法将此jar文件导入Eclipse(Java的没有导入选项)。我在这里做错什么了吗? 针对Web开发人员使用Eclipse Java EE IDE(版本:Juno发行版) 问题答案: 有比导出和导入罐子更简单的方法。假设您的项目名为MyProject123。只是: 只需使用文件管理器打