我想在一个包中使用两个模块来完成项目工作。 包com.test包括test1和test2。 这段代码是注释编译,因为:
错误:模块'Java9Test'中的多个模块信息文件
什么是不正确的?
test1包含module-info.java
module com.test.test1 {}
和Client.java
package com.test.test1;
import com.test.test2.Provider;
public Client {
public static void main(String[] args) {
Provider provider = new Provider();
System.out.printf(provider.getString(), "TestA");
}
}
并打包包含
的test2module-info.java
module com.test.test2 {}
和Provider.java
package com.test.test2;
public class Provider {
public String getString(){
return "Hello, %s!";
}
}
很抱歉,我在使用java9的模块中非常新的
答案 0 :(得分:0)
编译器(或IDE)认为您只有一个模块。一个模块只能有一个模块描述符(module-info.java
)。
您可以尝试以下目录结构:
module1/
module-info.java
com/
test/
test1/
Client.java
module2/
module-info.java
com/
test/
test2/
Provider.java
每个顶级module1
和module2
目录都是模块目录,因此您将拥有2个模块。
第一个模块描述符
module module1 {
requires module2;
}
第二个模块描述符
module module2 {
exports com.test.test2;
}