繁体   English   中英

任务':html:draftCompileGwt'的libGDX执行失败

[英]libGDX Execution failed for task ':html:draftCompileGwt'

我是libGDX的新手,为桌面和HTML创建了一个空项目。 当我运行桌面时没有问题,但是当我使用./gradlew html:superDev运行HTML时

控制台错误

Task :html:draftCompileGwt FAILED
Exception in thread "main" java.lang.NoSuchMethodError: 
com.google.gwt.util.regexfilter.RegexFilter: method <init>()V not found
    at com.google.gwt.util.regexfilter.WhitelistRegexFilter.<init> 
(WhitelistRegexFilter.java:21)
    at com.google.gwt.dev.jjs.JJSOptionsImpl.<init> 
(JJSOptionsImpl.java:54)
    at com.google.gwt.dev.PrecompileTaskOptionsImpl.<init> 
(PrecompileTaskOptionsImpl.java:39)
    at com.google.gwt.dev.CompilerOptionsImpl.<init> 
(CompilerOptionsImpl.java:30)
    at com.google.gwt.dev.Compiler.main(Compiler.java:108)

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':html:draftCompileGwt'.
Process 'command '/usr/lib/jvm/java-12-openjdk-amd64/bin/java'' 
finished with non-zero exit value 1

build.gradle(html)

gwt {
    gwtVersion='2.8.2' // Should match the gwt version used for building the gwt backend
    maxHeapSize="1G" // Default 256m is not enough for gwt compiler. GWT is HUNGRY
    minHeapSize="1G"

    src = files(file("src/")) // Needs to be in front of "modules" below.
    modules 'com.mygdx.game.GdxDefinition'
    devModules 'com.mygdx.game.GdxDefinitionSuperdev'
    project.webAppDirName = 'webapp'

    compiler {
        strict = true;
        disableCastChecking = true;
    }
}

import org.wisepersist.gradle.plugins.gwt.GwtSuperDev

def HttpFileServer server = null
def httpFilePort = 8080

task startHttpServer () {
    dependsOn draftCompileGwt

    String output = project.buildDir.path + "/gwt/draftOut"

    doLast {
        copy {
            from "webapp"
            into output
        }

        copy {
            from "war"
            into output
        }

        server = new SimpleHttpFileServerFactory().start(new File(output), httpFilePort)

        println "Server started in directory " + server.getContentRoot() + ", http://localhost:" + server.getPort()
    }
}

task superDev (type: GwtSuperDev) {
    dependsOn startHttpServer
    doFirst {
        gwt.modules = gwt.devModules
    }
}


task dist(dependsOn: [clean, compileGwt]) {
    doLast {
        file("build/dist").mkdirs()
        copy {
            from "build/gwt/out"
            into "build/dist"
        }
        copy {
            from "webapp"
            into "build/dist"
            }
        copy {
            from "war"
            into "build/dist"
        }
    }
}

task addSource {
    doLast {
        sourceSets.main.compileClasspath += files(project(':core').sourceSets.main.allJava.srcDirs)
    }
}

tasks.compileGwt.dependsOn(addSource)
tasks.draftCompileGwt.dependsOn(addSource)

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


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

我没有添加任何代码,这是由libGDX创建的项目

Ubuntu 19.04

Java版本:12.0.1

摇篮版本:5.4.1

Gradlew版本:5.4.1

如果您对这个问题有想法,请接受。 谢谢。

问题解决了。 起源是我的java版本

旧的Java版本java -version

openjdk version "12.0.1" 2019-04-16
OpenJDK Runtime Environment (build 12.0.1+12-Ubuntu-1)
OpenJDK 64-Bit Server VM (build 12.0.1+12-Ubuntu-1, mixed mode, sharing)

所以我必须更改版本,执行命令

sudo update-alternatives --config java

就我而言,这是结果

  Sélection   Chemin                                          Priorité  État
------------------------------------------------------------
* 0            /usr/lib/jvm/java-12-openjdk-amd64/bin/java      1211      mode automatique
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      mode manuel
  2            /usr/lib/jvm/java-12-openjdk-amd64/bin/java      1211      mode manuel
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      mode manuel

我切换到版本8,为此命令执行了2个解决方案

sudo update-java-alternatives --set "/path/java/..."

或使用此命令sudo update-alternatives --config java可以直接选择版本

当前的Java版本

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.19.04.2-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

而且工作正常

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM