我可以通过其他模块访问第三方模块吗?

时间:2019-08-26 17:15:25

标签: java module jar jigsaw

我必须编写一些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?

0 个答案:

没有答案
相关问题