我尝试运行一个非常简单的Gradle项目,使用Java 9模块,但是我收到了以下错误:
/home/vadim/IdeaProjects/test_modules/src/main/java/module-info.java:2: error: module not found: HdrHistogram
requires HdrHistogram;
^
这是它:https://github.com/vad0/test_modules。 主类基本上什么也没做。
package app;
import org.HdrHistogram.Histogram;
public class RunHdr {
public static void main(String[] args) {
final Histogram histogram = new Histogram(5);
System.out.println(histogram);
}
}
它仅使用了一个依赖项:HdrHistogram。我按照官方Gradle教程https://docs.gradle.org/current/samples/sample_java_modules_multi_project.html中的指示,在build.gradle文件中添加了这个神奇的命令。
java {
modularity.inferModulePath = true
}
整个 build.gradle 文件看起来像这样。
plugins {
id 'java'
}
group 'org.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
java {
modularity.inferModulePath = true
}
dependencies {
compile group: 'org.hdrhistogram', name: 'HdrHistogram', version: '2.1.12'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
module.info 的样子是这样的
module test.modules.main {
requires HdrHistogram;
}
我已经阅读了关于Jigsaw的许多教程以及大量与之相关的stackoverflow问题,但仍然无法让这个简单的示例工作。我该如何解决它?
谢谢
HdrHistogram
。 - Namanmaven
是如何将其转换为自动模块的吗? - Eugenemodule-info.java
的一部分的工件被视为在模块路径上而不是类路径上。共享的日志有两个组成部分,以清晰地说明这种差异。 - Namanmodule-info.java
。我已经说过我喜欢它了吗? - Eugene