如何在Java9模块中使用第三方库?
2022-09-02 03:19:23
我有一些java9模块,它使用第三方库,而不是Java9模块,只是一个简单的实用程序jar。
但是,编译器抱怨它无法从我的实用程序中找到包。
我应该如何启用我的第三方库的使用?module-info.java
我有一些java9模块,它使用第三方库,而不是Java9模块,只是一个简单的实用程序jar。
但是,编译器抱怨它无法从我的实用程序中找到包。
我应该如何启用我的第三方库的使用?module-info.java
您可以将库用作自动模块。自动模块是没有模块描述符(即 )的模块。module-info.class
但是,您需要指定什么名称才能引用自动模块?自动模块的名称派生自 JAR 名称(除非此 JAR 包含属性)。完整的规则很长(参见 ModuleFinder.of 的
Javadoc),所以为了简单起见,你只需要从其名称中删除版本,然后用点 () 替换所有非字母数字字符。Automatic-Module-Name
.
例如,如果要使用 ,则需要将以下行添加到:foo-bar-1.2.3-SNAPSHOT.jar
module-info.java
module <name> {
requires foo.bar;
}