【发布时间】:2021-09-26 02:14:33
【问题描述】:
我正在处理的项目会生成一个我在 azure 上部署的 jar,以便 Spark 运行该作业。 它使用的是内部依赖项 A,它使用依赖项 org.apache.commons:commons-configuration:1.10 但是当我在 azure 上部署时,它默认使用 2.1.1 版本。
在 azure 上,我们有 2.1.1 版本,其中包名称 (org.apache.commons.configuration2) 与 1.10 版本 (org.apache.commons.configuration) 不同。
所以在依赖A中有这一行在使用2.1.1版本时会报错:
Import org.apache.commons.configuration
它需要在末尾有“2”,我不能添加为 A 的东西是一个依赖项。
我尝试从 A 中排除 org.apache.commons:commons-configuration,然后使用 maven shade 插件重命名包,但 jar 文件变为实际大小的两倍,除了单独生成的阴影 jar,而不是在工作流的 zip 中,并且sh 文件,我的团队可能不喜欢的东西。
【问题讨论】:
-
您是否尝试过使用 shade 插件来重新定位您的代码所依赖的版本。
-
是的,但是罐子变大了一倍
标签: java maven apache-spark hadoop