如何使用type为pom的Maven依赖?该依赖为SOAP客户端Jar
Maven依赖type为pom时如何获取并使用对应Jar包?
首先明确:pom类型的依赖默认只会下载对应的pom配置文件,不会拉取可直接引用的Jar包,这就是你本地仓库只有文件夹和pom文件、找不到Jar的原因。
针对你的场景,有两种实用解决方案:
1. 直接修改依赖的type为jar(推荐)
既然其他项目将该依赖的type设为jar时能正常下载使用,这说明Maven仓库中存在该GAV对应的Jar构件。直接修改你的依赖配置,移除<type>pom</type>(Maven默认依赖类型就是jar,也可以直接改成<type>jar</type>):
<dependency> <groupId>it.xxxx.yyyyy.be.esb</groupId> <artifactId>CR_XXXXX_BE_PRODO_YYYYYY_V1</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency>
修改后执行mvn clean install -U强制更新依赖,就能在本地仓库找到对应的Jar包,项目也能正常引用该SOAP客户端类了。
2. 若必须保留pom类型(特殊场景)
如果因为项目架构等特殊原因必须引入该pom依赖,同时需要用到其Jar包,可以在pom依赖下方额外添加一次该依赖并指定type为jar:
<!-- 引入pom类型的依赖(比如用于统一版本或继承配置) --> <dependency> <groupId>it.xxxx.yyyyy.be.esb</groupId> <artifactId>CR_XXXXX_BE_PRODO_YYYYYY_V1</artifactId> <version>1.0.0-SNAPSHOT</version> <type>pom</type> </dependency> <!-- 单独引入对应的Jar包依赖 --> <dependency> <groupId>it.xxxx.yyyyy.be.esb</groupId> <artifactId>CR_XXXXX_BE_PRODO_YYYYYY_V1</artifactId> <version>1.0.0-SNAPSHOT</version> <type>jar</type> </dependency>
不过这种方式比较冗余,仅适合确实需要pom配置的特殊场景,你的情况更推荐第一种方案。
内容的提问来源于stack exchange,提问作者fraaanz
相关产品推荐
相关产品推荐

