Kesalahan saat mengonfigurasi groovy di game libgdx

Saya mulai belajar ligdx beberapa waktu yang lalu. Saya mencoba mengonfigurasi groovy agar berfungsi di proyek inti game, tetapi setiap kali saya menjalankan aplikasi saya mendapatkan pengecualian berikut:

Kesalahan:Gradle: Eksekusi gagal untuk tugas :core:compileJava.

Kesalahan: Tidak dapat mengkompilasi file Groovy: tidak ada perpustakaan Groovy yang ditentukan untuk modul 'inti'

Kompilasi gagal; lihat keluaran kesalahan kompiler untuk detailnya.

Kesalahan:(16, 23) Gradle: kesalahan: tidak dapat menemukan kelas simbol testClass

Kesalahan:(16, 23) Gradle: kesalahan: tidak dapat menemukan kelas simbol testClass

kode saya adalah:

public class MyGdxGame extends ApplicationAdapter {
SpriteBatch batch;
Texture img;

@Override
public void create () {
    batch = new SpriteBatch();
    img = new Texture("badlogic.jpg");
    testClass test = new testClass();
}

@Override
public void render () {
    Gdx.gl.glClearColor(1, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    batch.begin();
    batch.draw(img, 0, 0);
    batch.end();
}

@Override
public void dispose () {
    batch.dispose();
    img.dispose();


}
}

Dan

class testClass {

def scddsds(){
    println('scddsds')
}
}

File gradle Globalnya adalah:

    buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0'

    }
}

allprojects {
    apply plugin: "eclipse"
    apply plugin: "idea"

    version = '1.0'
    ext {
        appName = "groovy-test"
        gdxVersion = '1.9.3'
        roboVMVersion = '2.1.0'
        box2DLightsVersion = '1.4'
        ashleyVersion = '1.7.0'
        aiVersion = '1.8.0'
    }

    repositories {
        mavenLocal()
        mavenCentral()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        maven { url "https://oss.sonatype.org/content/repositories/releases/" }
    }
}

project(":desktop") {
    apply plugin: "java"


    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
    }
}

project(":android") {
    apply plugin: "android"

    configurations { natives }

    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64"
    }
}

project(":core") {
    apply plugin: "java"


    dependencies {
        compile "com.badlogicgames.gdx:gdx:$gdxVersion"
        compile 'org.codehaus.groovy:groovy:2.4.6:grooid'
    }
}

tasks.eclipse.doLast {
    delete ".project"
}

Pembangunan bertahap proyek inti adalah:

   apply plugin: "java"

sourceCompatibility = 1.6
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

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


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

   

Saya menggunakan Android Studio.


person RexsosTheAlien    schedule 09.07.2016    source sumber
comment
bagikan build.gradle Anda   -  person Enigo    schedule 10.07.2016
comment
Saya mempostingnya. silakan periksa   -  person RexsosTheAlien    schedule 10.07.2016


Jawaban (1)


Akhirnya saya berhasil membuatnya berfungsi. Pertama global build.gradle harus dikonfigurasi:

project(":core") {
    apply plugin: "java"
    apply plugin: "groovy"

    dependencies {
        compile "com.badlogicgames.gdx:gdx:$gdxVersion"
        compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.4.7'

    }
}

Saya menambahkan asyik ke proyek inti saja dan sepertinya berfungsi dengan baik.

Kemudian ke gradle build dari proyek inti saya menambahkan:

apply plugin: "java"
apply plugin: "groovy"
sourceCompatibility = 1.6
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
sourceSets {
    main {
        java { srcDirs = [] } 
        groovy { srcDir "src" }
    }
}
eclipse.project {
    name = appName + "-core"
}
dependencies {
}

Info lebih lanjut tentang "keajaiban" dengan kumpulan sumber dapat ditemukan di jawaban ini.

BTW saya membuat folder terpisah untuk kelas asyik, jadi struktur proyeknya seperti:

src   
 --main
    --java
    --groovy
person Enigo    schedule 11.07.2016
comment
ketika saya menambahkan beberapa kode ke proyek saya dan mengkompilasinya saya mendapat pengecualian ini: Kesalahan: Android Gradle Build Target: java.lang.StringIndexOutOfBoundsException: Indeks string di luar jangkauan: -92 - person RexsosTheAlien; 12.07.2016
comment
apakah ini ada hubungannya dengan pertanyaan saat ini? 'Karena mungkin ada baiknya menanyakan yang lain) - person Enigo; 13.07.2016