我目前正在测试将现有应用程序迁移到 Jigsaw 模块。我的一个模块使用 ElasticSearch 及其 Groovy 插件。
- org.elasticsearch:elasticsearch
- org.elasticsearch.module:lang-groovy
不幸的是,他们共享一个拆分包,所以mvn install
给了我:
x 从 lang.groovy 和 elasticsearch 读取包 org.elasticsearch.script.groovy
对描述符中的每个必需模块执行一次,其中 x 是每个模块的名称。
我假设在 Java 9 最终版本之前,较新的 elasticsearch 版本将消除拆分包,但是通常有一种方法可以处理遗留依赖项中的拆分包吗?
我希望能够将它们放在类路径而不是模块路径上,但是在阅读邮件列表上的这个对话之后,似乎没有办法告诉 Maven 编译器这样做。
maven 3.3.9 - maven-compiler-plugin 3.6.0 - jdk9-ea+149 - elasticsearch 2.3.3