使用Gretty插件而不是Jetty for Gradle 4.2.1 - java

我使用LibGDX制作视频游戏,并且将Android Studio更新为版本3,并将Gradle更新为版本4,却没有注意到LibGDX在Gradle文件上使用的某些插件现已弃用。

我没有使用Gradle的经验,并且我对任务的工作方式和插件了解得很少,但是了解的并不多。

我的问题是关于Jetty插件,该插件现已被弃用,Gradle建议我改用Gretty插件。

我已经在代码中添加了它,但是,当然,现在我需要为Gretty任务更改Jetty任务,这就是我的问题。

这是我的build.gradle文件:

apply plugin: "java"
//apply plugin: "jetty"
apply plugin: 'war'
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'

//TODO: Arreglar jetty por gretty

gwt {
    gwtVersion='2.6.0' // 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.projectcastle.game.GdxDefinition'
    devModules 'com.projectcastle.game.GdxDefinitionSuperdev'
    project.webAppDirName = 'webapp'

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

task draftRun(type: JettyRunWar) {
    dependsOn draftWar
    dependsOn.remove('war')
    webApp=draftWar.archivePath
    daemon=true
}

task superDev(type: de.richsource.gradle.plugins.gwt.GwtSuperDev) {
    dependsOn draftRun
    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"
        }
    }
}

draftWar {
   from "war"
}

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

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

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


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

这是错误给我的:

* What went wrong:
A problem occurred evaluating project ':html'.
> Could not get unknown property 'JettyRunWar' for project ':html' of type org.gradle.api.Project.

因此,我不知道如何更改JettyRunWar类型和draftRun任务以使其与Gretty兼容。

提前致谢!!

参考方案

使用此构建文件完全摆脱了码头(您只需要编辑一些行即可使其适合您的项目):
https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests-gwt/build.gradle

但是gradle 4. +还有另一个巨大的问题,如本期所示:
https://github.com/libgdx/libgdx/issues/4698

他们说他们会修复它,并且只要他们正在研究它,我们就必须使用旧的gradle,并且不得不等待。

Gradle-FatJar-无法找到或加载主类 - java

我知道这个问题被问了很多,有很多答案,但我仍然明白,为什么呢?我正在尝试从带有gradle依赖项的projet生成.jar。我有一个类src/main/java/Launcher.java,其中有我的main方法。有我的build.gradleplugins { id 'java' id 'application' }…

用于复制任务的Gradle排除模块 - java

我的复制任务设置如下:task copyToLib( type: Copy ) { into "$buildDir/myapp/lib" from configurations.runtime // We only want jars files to go in lib folder exclude "*.exe" …

在Eclipse for EAR Project中添加外部jar文件 - java

我需要将外部jar文件添加到EAR项目。我确实添加了,但是jar文件没有反映在lib目录中,它显示在lib目录下面。我在右键单击Deployment Descriptor,Import-> Java EE Utility Jar并选择从文件夹中复制时添加了这些jar文件。当我将jar文件拖到lib目录中时,在eclipse项目资源管理器中,速度jar文…

Java-搜索字符串数组中的字符串 - java

在Java中,我们是否有任何方法可以发现特定字符串是字符串数组的一部分。我可以避免出现一个循环。例如String [] array = {"AA","BB","CC" }; string x = "BB" 我想要一个if (some condition to tell wheth…

Java-如何将此字符串转换为日期? - java

我从服务器收到此消息,我不明白T和Z的含义,2012-08-24T09:59:59Z将此字符串转换为Date对象的正确SimpleDateFormat模式是什么? java大神给出的解决方案 这是ISO 8601标准。您可以使用SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM…