Maven对外api包依赖父pom文件时如何deploy

在java开发中,maven结构一般是父pom文件下会有多个模块web、api。其中api模块是提供feign等rpc接口直接给到外部服务引入jar包直接使用。

单独打包并deploy上传api模块

项目根目录下执行

mvn deploy -pl api

这样就可以只打包api模块并上传到maven仓库,但是别人直接引用你的api包时大概率还是找不到,这是因为我们的api包依赖了父pom文件,而父pom文件没有上传到maven仓库,这个时候就需要单独上传父pom文件

单独deploy父pom文件

项目根目录下执行

mvn deploy -N

这样就可以只上传父pom文件到maven仓库,别人就可以正常使用api包了。

合并执行

没有找到2个操作合在一起的命令(mvn deploy其实可以,不过这样会打包上传所有jar包,包含web包,其中web包一般都很大,上传速度慢且给maven仓库带来无用的负担),不过我们可以用linux的&&来组合2个命令

mvn deploy -N && mvn deploy -pl api

相当于依次执行2个命令


觉得内容还不错?打赏个钢镚鼓励鼓励!!👍