首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Gretty插件代替Jetty用于Gradle 4.2.1

使用Gretty插件代替Jetty用于Gradle 4.2.1
EN

Stack Overflow用户
提问于 2017-10-30 11:11:25
回答 2查看 3.9K关注 0票数 3

我使用LibGDX制作一个视频游戏,我将Android升级到版本3,Gradle更新到version 4,而没有注意到LibGDX在Gradle文件上使用的一些插件现在已经过时。

我没有使用Gradle的经验,我对任务和插件的工作方式也有一点了解,但不是很深入。

我的问题是关于Jetty插件,现在已经不推荐了,Gradle建议我使用Gretty插件。

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

这是我现在的build.gradle文件:

代码语言:javascript
复制
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"
}

这就是错误给了我:

代码语言:javascript
复制
* 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兼容的任务。

提前谢谢!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-01 07:39:40

使用此构建文件可以完全消除jetty (您只需编辑一些行,使其适合您的项目):https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests-gwt/build.gradle

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

他们说,他们将修复它,只要他们正在努力,我们必须使用旧的格拉德尔,并不得不等待。

票数 -1
EN

Stack Overflow用户

发布于 2022-02-20 19:06:03

出于某种原因(可能是在从2.X版本更新Gradle时删除了它),您删除了Jetty的导入,但在

html/build.gradle

您也应该删除它的启动程序:

任务draftRun(类型: JettyRunWar) { dependsOn draftWar dependsOn.remove('war') webApp=draftWar.archivePath daemon=true }

也许您应该删除同一个文件中的初学者:

任务superDev(类型: de.richsource.gradle.plugins.gwt.GwtSuperDev) { dependsOn draftRun doFirst { gwt.modules = gwt.devModules }

干杯!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47013825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档