跟进如何定义对未知模块的合格导出?我已经发布了一个testcase有两个模块:core
and plugin
.
core
尝试将包暴露给plugin
使用合格的导出,但编译器抱怨plugin
不存在。根据艾伦·贝特曼的建议,我尝试添加--module-source-path <path-of-plugin> --module plugin
指向从core
to plugin
但编译器抱怨:
module plugin not found in source path
为什么编译器找不到模块plugin
?
我通过反复试验弄清楚了。
- Use
--module-source-path ${project.basedir}/../*/src/main/java
确保编译器可以看到两个模块的源代码。
- Use
--module core
确保编译器只构建core
尽管看到了所有模块。
- Tell
maven-jar-plugin
从中打包类classes/${module.name}
而不仅仅是classes
因为module-source-path
导致输出以模块名称为前缀。我还没有找到禁用此前缀的方法。
固定代码可以在以下位置找到https://bitbucket.org/cowwoc/qualified-exports-testcase/
Caveat:此技术仅在模块目录名称(由*
) 与 Java 模块名称匹配。在这个特定的例子中,模块core
其来源在目录中core/src/main/java
。另一方面,如果目录名称是core
但相应的Java模块是org.bitbucket.core
那么编译将会失败module org.bitbucket.core not found in module source path
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)