如何使用Maven打包自定义修改的aws-java-sdk-bundle jar包
问题根因
你直接对aws-java-sdk根聚合模块执行打包,该模块本身仅作为子模块的聚合父项目,没有实际业务源码,因此构建产物是空的。同时你使用system scope声明依赖时,aws-java-sdk-bundle默认使用的Maven Shade插件不会将system scope的依赖打入最终产物,也是bundle为空的原因之一。
推荐构建步骤
- 第一步:定位修改对应子模块源码
你修改的AmazonS3Client属于aws-java-sdk-s3子模块,直接在该子模块的源码目录完成你的自定义修改即可,无需调整根模块配置。 - 第二步:将修改后的子模块安装到本地Maven仓库
进入aws-java-sdk-s3子模块目录,执行命令:
mvn install -Dmaven.test.skip=true
执行完成后,你修改后的1.11.271版本s3 SDK包会被存入本地Maven仓库。
- 第三步:构建aws-java-sdk-bundle
进入aws-java-sdk-bundle模块目录,无需修改其pom.xml的依赖配置,直接执行打包命令:
mvn package -Dmaven.test.skip=true
构建过程中bundle会优先拉取本地Maven仓库中你刚安装的自定义版本子模块,最终打出的jar包就会包含你修改后的AmazonS3Client代码。
内容的提问来源于stack exchange,提问作者user3711775
相关产品推荐
相关产品推荐

