首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理自动模块中的拆分包?

如何处理自动模块中的拆分包?
EN

Stack Overflow用户
提问于 2016-12-29 18:25:27
回答 1查看 863关注 0票数 8

我目前正在测试如何将现有的应用程序迁移到Jigsaw。我的一个模块使用ElasticSearch和它的Groovy插件。

  • org.elasticsearch:elasticsearch
  • 模块:lang-groovy

不幸的是,他们共享一个拆分包,因此mvn install给了我:

X从org.elasticsearch.script.groovy和elasticsearch中读取包lang.groovy

对描述符中的每个必需模块进行一次,其中x是每个模块的名称。

我假设更新的elasticsearch版本在Java 9成为最终版本时就已经消除了拆分包,但是是否有一种处理遗留依赖关系中的拆分包的方法呢?

我本来希望能够在类路径上,而不是在模块路径上,但是在阅读了邮件列表上的对话之后,似乎没有办法告诉Maven编译器这样做。

maven 3.3.9 -maven-编译器-plugin 3.6.0 - jdk9-ea+149 - elasticsearch 2.3.3

EN

回答 1

Stack Overflow用户

发布于 2016-12-30 15:54:34

经过一些更多的测试,我认为有一些选择应该解决许多(但肯定不是所有)第三方分裂包的情况。

  1. 清理依赖项--可能实际上不需要依赖项,也可以用更新的(或更不同的) JAR替换。
  2. 将自己的模块重组为两个模块,每个模块从两个第三方模块中读取包(如果可能/合理的话)
  3. 将第三方模块中的一个(或两者)封装在一个简单的模块中,该模块只显式地导出模块实际需要的包。

根据具体情况,这些选项中的一个可能很适合解决拆分包问题。但是,它们都不能处理这样的情况,在这种情况下,一段连贯的代码实际上需要从拆分包的两个部分访问类。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41385229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档