Xodus执行./gradlew install时xodus-samples.jar不存在的Gradle报错
当前操作流程存在的核心问题
- 执行
./gradlew install时,没有提前触发全模块的Jar构建环节。Gradle旧版基于Upload类型实现的install任务,本身不会主动关联子模块的jar产出依赖,流程走到发布校验节点时,会直接查找目标路径的产物文件,不会补跑缺失的构建步骤,因此会直接报xodus-samples.jar不存在的错误。 - 参照官方构建脚本配置时,没有匹配项目锁定的Gradle版本任务规则。当本地Gradle版本和Xodus项目适配的构建版本存在偏差时,旧版
install任务的默认依赖链路会失效,无法自动触发samples模块的打包流程。 - 增量构建缓存存在断档。如果之前的构建过程被中断、清理过samples模块的build目录,对应路径下的Jar文件会处于缺失状态,而旧版install任务没有做产物兜底的构建逻辑,直接进入发布校验环节就会抛出异常。
正确的调整操作步骤
- 先在项目根目录执行全量构建命令:
./gradlew clean build,该命令会自动触发所有子模块(包括samples模块)的编译、打包流程,确保指定路径下的xodus-samples.jar文件正常生成。 - 构建完成后执行本地安装操作,尽量避免使用旧版的
install任务,替换为适配现代Gradle版本的./gradlew publishToMavenLocal。该任务会自动关联前置构建任务的产出物,将所有模块的Jar包正确发布到本地Maven仓库,完全实现旧版install的功能,从根源上避免产物缺失的校验报错。 - 如果确实需要沿用旧版
install命令,需要手动为任务补全依赖链路:在报错的samples子模块构建脚本中添加配置,声明install任务必须依赖jar任务的执行结果,让发布流程启动前自动补跑打包环节,解决文件不存在的问题。
内容的提问来源于stack exchange,提问作者Fireburn
相关产品推荐
相关产品推荐

