【发布时间】:2020-07-30 22:29:24
【问题描述】:
这是我的多项目 Gradle 设置:
.
└── gradle-module-project1
├── application
├── build.gradle.kts
├── gradlew
├── list
├── settings.gradle.kts
└── utilities
application、utilties 和 list 是项目,每个项目内部都有一个 Java 模块。
即每个项目都有自己的src/main/java/module-info.java文件和build.gradle.kts文件。
我还有另一个具有类似项目结构的 Gradle 项目,例如:
.
└── gradle-module-project2
├── build.gradle.kts
├── gradlew
├── settings.gradle.kts
└── superapi
superapi 是一个 Java 模块并公开一个包。
我已将superapi 构建为.jar,使用./gradlew build
现在我正在尝试将superapi.jar 添加为gradle-module-project1 的依赖项,以便gradle-module-project1 可以使用从superapi 模块导出的公共类。
在 IntelliJ 中,我已经完成了:
Project Structure -> Modules -> Dependencies -> Add -> Jars/Directory
选中创建的jar,可以在我项目的External Libraries看到jar。
但是当我尝试添加时:
requires com.test.modules.superapi;
到module-info.java 为application,我收到此错误:
Module is not in dependencies: com.test.modules.superapi
建议的修复方法是:Add library: 'superapi.jar!' to classpath,但这无济于事。
任何想法我做错了什么?
【问题讨论】:
-
请查看我的答案以完全完成它(gradle build AND gradle run with ServiceLoader 等)here
标签: java gradle intellij-idea