无法使用 --module-source-path 解析模块

2023-11-26

跟进如何定义对未知模块的合格导出?我已经发布了一个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?


我通过反复试验弄清楚了。

  1. Use --module-source-path ${project.basedir}/../*/src/main/java确保编译器可以看到两个模块的源代码。
  2. Use --module core确保编译器只构建core尽管看到了所有模块。
  3. 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(使用前将#替换为@)

无法使用 --module-source-path 解析模块 的相关文章

随机推荐