多项目设置中的maven阴影过滤太多

maven shade in multi project setup filtering too much

如何在多模块 Maven 项目设置中正确设置 maven-shade 插件?

故事情节

A (https://github.com/DataSystemsLab/GeoSpark) has a dependency on B (https://github.com/jiayuasu/JTSplus) 是 C (com.vividsolutions.jts)

的分支

现在,对于我项目中的某些任务,我需要使用 D (http://www.geotools.org),它依赖于 com.vividsolutions.jts.

的另一个版本

如何在一个项目中同时使用这两个 jar?不幸的是,简单的依赖项替换在这里不起作用。阴影应该是解决方案。

第一次尝试 - 对父 pom 进行着色

当我尝试将 maven-shadeplugin 应用到 https://github.com/DataSystemsLab/GeoSpark/blob/master/pom.xml as outlined Using Maven shade plugin in a multi module project - NullPointerException 的根 pom 时,出现空指针异常

多项目设置

当按照 How to configure Maven shade plugin in a multi-module project? 将其设置为多模块构建时,maven 构建至少可以编译。但是,生成的 jar 缺少 geospark 模块 的实际代码。我看不出这会被过滤到哪里。 我的更改可用 https://github.com/geoHeil/GeoSpark/commit/23d212aeeeacad8b7199da69366d583fc48edcf0

主要变化是:

确实,禁用放大是解决方案。否则也可能明确包含所需的工件。