[英]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.