簡體   English   中英

從 gradle 5.2 升級 -> 6.0 出現錯誤:找不到或加載主 class

[英]Upgrading from gradle 5.2 -> 6.0 gives error: could not find or load main class

我正在按照官方指南將 gradle 的 Grails 應用程序從 5.2 版升級到 6.0 版: https://docs.gradle.org/current/userguide/upgrading_version_5.html

這不是那么順利,因為我現在無法啟動我的任何子項目。 我正在測試的那個稱為集成,在升級(並將編譯更改為實現)之后, build.gradle看起來像這樣:

buildscript {
    repositories {
        mavenLocal()
        maven { url "https://repo.grails.org/grails/core" }
        maven artifactory
    }
    dependencies {
        classpath "org.jsonschema2pojo:jsonschema2pojo-gradle-plugin:$jsonToPojoVersion"
        classpath "org.grails:grails-gradle-plugin:$grailsVersion"
        classpath "org.grails.plugins:views-gradle:$grailsViewsGradleVersion"
        classpath "com.bertramlabs.plugins:asset-pipeline-gradle:$assetPipelineVersion"
        classpath "org.codehaus.groovy:groovy-all:$groovyVersion"
    }
}

apply plugin: "war"
apply plugin: "org.grails.grails-web"
apply plugin: "org.grails.plugins.views-json"

apply from: "${rootProject.rootDir}/gradle/common.gradle"
apply from: "${rootProject.rootDir}/gradle/deployable.gradle"
apply from: "${rootProject.rootDir}/gradle/json2pojo.gradle"

springBoot {
    mainClassName = 'dk.erst.plandata.integration.Application'
}

dependencies {
    profile "org.grails.profiles:rest-api"

    implementation group: 'org.hibernate', name: 'hibernate-validator', version: hibernateValidatorVersion
    implementation "org.grails.plugins:cache-ehcache:$ehcacheVersion"

    implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: googleJsonSimpleVersion
    implementation group: 'com.itextpdf', name: 'itextpdf', version: "$itextpdfVersion"
    implementation "org.xhtmlrenderer:core-renderer:$xhtmlRenderVersion"
    implementation "com.jcraft:jsch:$jcraftVersion"

    implementation "org.grails.plugins:rendering:$grailsRenderingVersion"
    implementation "org.grails.plugins:views-json"
    implementation "org.grails.plugins:views-json-templates"
    implementation "net.sf.json-lib:json-lib:$netsfJsonVersion"

    implementation "person-og-organisation:pogo-grails-plugin:$pogoGrailsPlugin"
    implementation "person-og-organisation:pogo-common:$pogoCommonsVersion"
    implementation "beskedfordeler:beskedfordeler-plugin:$beskedfordelerPlugin"

    implementation group: 'dokumentlager', name: 'dokumentlager-grails4-plugin', version: "$dokumentlagerPlugin"

    implementation "erkerne:text-manager-plugin:$textmanagerPlugin"
    implementation "erkerne:text-manager-api:$textmanagerApiVersion"

    implementation "sag:sagslager-grails-plugin:$sagslagerGrailsPlugin"
    implementation "sag:sag-enums:$sagEnumVersion"
    implementation "sag:sagslager-api:$sagslagerApiVersion"
    implementation "sag:sagslager-interface:$sagslagerInterfaceVersion"
    implementation "sag:sagsindeks-grails-plugin:$sagsindeksPluginVersion"
    implementation "sag:sagsindeks-object-marshallers:$sagsindeksPluginVersion"
    implementation "sag:sagsindeks-api:$sagsindeksApiVersion"

    implementation project(":model")
    implementation project(":utils")
    implementation project(":validering")
}

assets {
    minifyJs = false
    minifyCss = false
    maxThreads = 1
}

但是,我無法再運行我的應用程序,現在出現此錯誤:

> Task :integration:bootRun FAILED
Error: Could not find or load main class dk.erst.plandata.integration.Application

這在 gradle 5.2 中不是問題。 我嘗試應用“application”插件,將springBoot {}更改為application {}但沒有任何區別。 我也曾嘗試完全刪除mainClassName ,但結果相同。

我可以看到我單元中的其他 grails 項目使用 gradle 6.0,但甚至不指定mainClassName ,它似乎可以工作。

正如評論中已經指出的那樣,很難說這些小信息出了什么問題,尤其是在不知道應用的 Gradle 腳本包含什么的情況下。 所以這只是一個猜測:由於過時的build/和/或.gradle/目錄,我有時會在升級 Gradle 版本時看到奇怪的錯誤。 升級后刪除這些目錄通常會產生奇跡。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM