我必须编写一些Java模块(Java拼图)。我对此很陌生,所以我并不完全了解所有内容。主要问题是:如果有一个模块,您需要在其他几个模块中使用,是否可以通过其他模块传递模块?
要获取更多具体信息,有2个模块:饮料和酒吧。酒吧需要饮料。我想在它们两个中都包含一些测试(JUnit)。因此,两个模块中都需要JUnit。我从喝酒开始。我添加了一些代码和测试,并将其打包到一个JAR中。现在,我编写了另一个模块Bar,该模块导入了Drink-JAR。 Drink模块没有问题,但我也想在Bar中编写一些测试。这是不可能的,因为找不到JUnit!
我写了一个小例子。
饮料:module-info.java
module drink {
exports drink;
requires junit;
requires java.hamcrest;
}
饮料:饮料课
package drink;
public class Drink {
private int milliliters = 250;
public int getMilliliters() {
return this.milliliters;
}
public void setMilliliters(int milliliters) {
this.milliliters=milliliters;
}
}
饮料:饮料测试
package drink.test;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import drink.Drink;
public class DrinkTest {
@Test
public void testDrink() {
Drink testDrink = new Drink();
assertEquals(testDrink.getMilliliters(), 250);
}
}
栏:module-info.java
module bar {
exports bar;
requires drink;
requires junit;
requires org.hamcrest.core;
}
如果将Drink JAR导入到Bar模块,则无法访问JUnit。
图片/证明:https://i.imgur.com/KAE7WcA.png
问题是:如何在Bar模块中访问JUnit?