如何更改 libgdx 项目的 Java 版本?

How to change Java version of libgdx project?

我正在使用 libgdx java 库创建简单的游戏,但不知道如何更改项目的 java 版本。

问题:它使用 1.7,我正在尝试将其更改为 1.8

我试过的东西(参考):

  1. 在项目结构 > 项目中将 sdk 版本更改为 1.8

  2. 模块部分每个模块的更改版本

  3. 试图用 1.8 java

    将 build.gradle 文件修改为 运行

    构建脚本{

         repositories {
             mavenLocal()
             mavenCentral()
             gradlePluginPortal()
             maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
             google()
         }
         dependencies {
             classpath 'org.wisepersist:gwt-gradle-plugin:1.1.16'
             classpath 'org.gretty:gretty:3.0.7'
    
    
         }
     }
    
     allprojects {
         apply plugin: "eclipse"
    
    
    
         version = '1.0'
         ext {
             appName = "Mario"
             gdxVersion = '1.11.0'
             roboVMVersion = '2.3.16'
             box2DLightsVersion = '1.5'
             ashleyVersion = '1.7.4'
             aiVersion = '1.8.2'
             gdxControllersVersion = '2.2.1'
         }
    
         repositories {
             mavenLocal()
             mavenCentral()
             google()
             gradlePluginPortal()
             maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
             maven { url "https://oss.sonatype.org/content/repositories/releases/" }
             maven { url "https://jitpack.io" }
         }
     }
    
     project(":desktop") {
         apply plugin: "java-library"
    
         // Added
         apply plugin: "java"
         sourceCompatibility = 1.8
         targetCompatibility = 1.8
    
    
         dependencies {
             implementation project(":core")
             api "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
             api "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
             api "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-desktop"
    
         }
     }
    
     project(":core") {
         apply plugin: "java-library"
    
             // Added 
         apply plugin: "java"
         sourceCompatibility = 1.8
         targetCompatibility = 1.8
    
         dependencies {
             api "com.badlogicgames.gdx:gdx:$gdxVersion"
             api "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"
         }
     }
    
     project(":html") {
         apply plugin: "java-library"
         apply plugin: "gwt"
         apply plugin: "war"
         apply plugin: "org.gretty"
    
         //Added
         apply plugin: "java"
         sourceCompatibility = 1.8
         targetCompatibility = 1.8
    
    
    
         dependencies {
             implementation project(":core")
             api "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion"
             api "com.badlogicgames.gdx:gdx:$gdxVersion:sources"
             api "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion:sources"
             api "com.badlogicgames.gdx:gdx-box2d:$gdxVersion:sources"
             api "com.badlogicgames.gdx:gdx-box2d-gwt:$gdxVersion:sources"
    
         }
     }
    

您将 sourceCompatibility 更改为 1.8 的方法是正确的,但是您在错误的文件中进行了更改。在一个 libgdx 项目中有 几个 build.gradle 文件

在您的根目录(您在问题中找到 build.gradle 文件的位置)中,有一个目录 core。在这个项目中还有另一个 build.gradle,其中包括 sourceCompatibility.
该文件应如下所示:

sourceCompatibility = 1.7 // change to 1.8 here to use java-8 features
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

sourceSets.main.java.srcDirs = [ "src/" ]

eclipse.project.name = appName + "-core"