1

I'm creating simple game with libgdx java library and can't figure out how to change java version of the project.

Problem: It uses 1.7 and I am trying to change it to 1.8

Things I tried( referring to answer ):

  1. Changed sdk version to 1.8 in Project Structure > Project

  2. Changed versions of each module in module section

  3. Tried to modify build.gradle file to run with 1.8 java

    buildscript {

         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"
    
         }
     }
    
uki34
  • 40
  • 1
  • 4

1 Answers1

1

Your approach of changing the sourceCompatibility to 1.8 is correct, but you did it in the wrong file. There are several build.gradle files in a libgdx project.

In your root directory (where you found the build.gradle file that you mentioned in your question), there is a directory core. Inside this project there is another build.gradle that includes the sourceCompatibility.
The file should look like this:

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"
Tobias
  • 2,547
  • 3
  • 14
  • 29