报错信息:
[ERROR] Plugin com.crm:closure-maven-plugin:1.0.1 or one of its dependencies could not be resolved: Could not find artifact com.crm:closure-maven-plugin:jar:1.0.1 in central (https://repo.maven.apache.org/maven2) -> [Help 1]
closure-maven-plugin 是pom中的plugin中的maven插件,是在私服中的。
这个应该是idea版本的问题,如果放到dependency下面是可以通过配置是私服拉取下来的,但是在plugin下面,就不会去私服拉取,而跑到了中央仓库中拉,而中央仓库中又没有这个jar包。
其实,这是所有的pom 都继承了 super pom ,super pom 中配置了 central地址。
super pom:
super pom 是在maven 插件中的lib 目录下面的maven-model-builder.jar中,解压后 org/apache/maven/project/pom-4.0.0.xml
下面是具体截图:
解决方案:
要解决这个问题,更新jar包里面的pom 是不现实的,需要我们在idea的setting.xml配置中加上cetral 引用本地仓库来重写仓库地址。idea打包的时候选中一下就可以了。但必须保证本地存在那个找不到的closure-maven-plugin:jar包才可以。本地必须先拉去下来这个包
然后用setting.xml 重写掉super pom,从本地仓库拉取jar包
<profile>
<id>central</id>
<repositories>
<repository>
<id>central-local</id>
<url>file://D:\software\maven_repo\repository</url>
<offline>true</offline>
</repository>
</repositories>
</profile>