You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle构建Java 9项目遇模块找不到错误求助

解决Gradle Java 9模块找不到的问题

看起来你遇到的是Java模块系统和Gradle集成时的典型路径/配置问题,我来帮你一步步排查修复:

1. 先修正最容易踩坑的模块描述文件

首先,你提到的module-java.info文件名是错误的!Java 9模块的描述文件必须严格命名为module-info.java,而且它的位置必须在crawler/src/main/java的根目录下(不能放在任何子包里面)。

正确的文件结构应该是这样:

crawler/
├── build.gradle
└── src/
    └── main/
        └── java/
            ├── module-info.java
            └── de/
                └── project/
                    └── crawler/
                        └── 你的业务类.java

2. 确认module-info.java的模块声明正确

你的模块声明必须和报错里的de.project.crawler完全一致,示例如下:

module de.project.crawler {
    // 根据你的需求添加exports/requires语句,比如对外暴露包:
    // exports de.project.crawler;
}

3. 配置Gradle正确识别Java 9模块

根目录build.gradle配置

确保根项目启用Java插件,并指定正确的Java版本:

plugins {
    id 'java' apply false
}

allprojects {
    apply plugin: 'java'

    java {
        toolchain {
            languageVersion = JavaLanguageVersion.of(9)
        }
    }
}

子模块crawler/build.gradle配置

如果你的子模块是可运行的应用,需要添加application插件,并明确指定主模块和主类(注意格式是模块名+全类名):

plugins {
    id 'application'
}

application {
    mainModule = 'de.project.crawler' // 必须和module-info里的模块名完全匹配
    mainClass = 'de.project.crawler.Main' // 替换成你的主类全限定名
}

4. 验证并运行

先执行./gradlew clean build确保编译无问题,然后用./gradlew crawler:run来启动你的模块应用。

如果还是报错,可以额外检查这几点:

  • 确认所有业务类都在模块声明对应的包路径下
  • 执行./gradlew crawler:properties查看modulepath相关属性,确认模块被正确加入路径
  • 检查是否存在重复的模块声明或依赖冲突

内容的提问来源于stack exchange,提问作者BeJay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:58:59