Jmix Framework构建WAR文件时出现依赖解析错误求助
解决Jmix Gradle插件构建WAR文件失败问题
错误核心分析
构建失败的根本原因是版本不兼容:
- 项目当前使用Java 11,但
io.jmix.gradle:jmix-gradle-plugin:2.2.1.1的所有可用变体均要求Java 17,Java版本不匹配导致无法解析插件 - 插件变体未声明
org.gradle.plugin.api-version属性,与你当前使用的Gradle 8.6的要求不匹配(此问题会随Java版本升级自动解决)
解决方案
1. 升级项目Java版本至17
Jmix 2.2.x版本强制要求Java 17,需修改项目配置:
- 打开项目根目录的
build.gradle(Groovy DSL)或build.gradle.kts(Kotlin DSL),调整Java版本配置:// Groovy DSL示例 java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 }// Kotlin DSL示例 java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } - 确保本地已安装Java 17,并在IDE中设置项目SDK为Java 17
2. 确认插件仓库配置正确
检查settings.gradle(或settings.gradle.kts)中的插件管理配置,确保包含Jmix官方仓库:
// Groovy DSL示例 pluginManagement { repositories { mavenCentral() gradlePluginPortal() maven { url = 'https://global.repo.jmix.io/repository/public' } } plugins { id 'io.jmix' version '2.2.1.1' } }
3. 清理缓存并重新构建
执行以下命令清理Gradle缓存,重新执行构建:
# Linux/macOS ./gradlew clean build -x test # Windows gradlew.bat clean build -x test
内容的提问来源于stack exchange,提问作者Al_Org
相关产品推荐
相关产品推荐

