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

标签 java maven android-studio gradle build.gradle

我正在使用 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/

相关文章:

java - 如何开发完整的软件套件/平台?

java - Jenkins:调用 maven 部署时日志太多

java - maven依赖无法导入

java - 如何创建自定义 SQLite 函数并在 Cayenne 下执行

java接口(interface)方法输入本身

java - 使用java的securerandom获得确定性值

java - 使用特定依赖项预填充本地 Maven 缓存

android studio org.json.JSON.typeMismatch

java - 添加 Google Play 服务和 Proguard 时出现警告?

android-studio - 运行时 JUnit 测试中 Kotlin 类出现 NoClassDefFoundError