我正在使用 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 兼容。
提前致谢!
最佳答案
出于某种原因(也许你在从 2.X 版本更新 Gradle 时删除了它)你删除了 Jetty 的导入但是在
html/build.gradle
你也应该删除它的启动器:
task draftRun(type: JettyRunWar) { dependsOn draftWar dependsOn.remove('war') webApp=draftWar.archivePath daemon=true }
也许你应该删除同一个文件中的 starter:
task superDev(type: de.richsource.gradle.plugins.gwt.GwtSuperDev) { dependsOn draftRun doFirst { gwt.modules = gwt.devModules } }
干杯!
关于java - 使用 Gretty 插件而不是 Gradle 4.2.1 的 Jetty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47013825/