多项目设置中的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
主要变化是:
- 引入第三个模块
FinalModule
- 阴影仅在此处启用,将
com.vividsolutions.jts
替换为 com.vividsolutions.jtsgeospark
确实,禁用放大是解决方案。否则也可能明确包含所需的工件。
如何在多模块 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
主要变化是:
- 引入第三个模块
FinalModule
- 阴影仅在此处启用,将
com.vividsolutions.jts
替换为com.vividsolutions.jtsgeospark
确实,禁用放大是解决方案。否则也可能明确包含所需的工件。