我使用LibGDX制作一个视频游戏,我将Android升级到版本3,Gradle更新到version 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兼容的任务。
提前谢谢!!
发布于 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
他们说,他们将修复它,只要他们正在努力,我们必须使用旧的格拉德尔,并不得不等待。
发布于 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 }
干杯!
https://stackoverflow.com/questions/47013825
复制相似问题