maven命令打包module

在idea控制台输入命令 mvn 命令报错处理

1. 引用寻找不到

[ERROR] Failed to execute goal on project jeecg-boot-base-common: Could not resolve dependencies for project org.jeecgframework.boot:je
ecg-boot-base-common:jar:2.2.0: The following artifacts could not be resolved: org.hibernate:hibernate-re:jar:2.1.5, org.jeecgframework
.boot:codegenerate:jar:1.2.0, org.jeecgframework:autopoi-web:jar:1.1.1: Could not find artifact org.hibernate:hibernate-re:jar:2.1.5 in
 xwmaven (http://nexus3.xwsoftlan.com/repository/mvn-group/) -> [Help 1]

解决:
命令找setting.xml的时候不是根据idea的自定义配置,而是根据默认配置找maven包下conf文件夹里的settings.xml文件.

2. 插件从setting.xml中的镜像地址中拉不下来,当时是mvn clean 命令,所以是org.apache.maven.plugins:maven-clean-plugin:3.1.0包拉不下来

分析:
在maven的配置文件setting.xml大里面有个mirrors节点,用来配置镜像URL。mirrors可以配置多个mirror,每个mirror有id,name,url,mirrorOf属性,

id是唯一标识一个mirror,name节点名,url是官方的库地址,mirrorOf代表了一个镜像的替代位置,例如central就表示代替官方的中央库。

虽然mirrors可以配置多个子节点,但是它只会使用其中的一个节点,即默认情况下配置多个mirror的情况下,只有第一个生效,只有当前一个mirror
无法连接的时候,才会去找后一个;而我们想要的效果是:当a.jar在第一个mirror中不存在的时候,maven会去第二个mirror中查询下载,但是maven不会这样做!)。

那么maven是使用哪个mirror节点的呢,mirror不是按settings.xml中写的那样的顺序来查询的,即所谓的第一个并不一定是最上面的那个。
当有id为B,A,C的顺序的mirror在mirrors节点中,maven会根据字母排序来指定第一个,所以不管怎么排列,
一定会先找到A这个mirror来进行查找,当A无法连接,出现意外的情况下,才会去B查询。

注意:

配置多个mirror时,mirrorOf不能配置" * “,” * " 的意思就是(根据mirrorOf和repository的id)匹配所有的仓库(repository),

这样就是说如果你需要某个jar,他会从镜像地址去下载这个jar。不管你配置了多少个库,即使这些库的地址不一样,仍然会从镜像地址访问。

解决:

mirrorOf配置central优先级高于id的顺序,因此去配置了central的镜像地址下载插件,但这个地址是私用的,没有该插件,因此报错。去掉central配置,设置成特有包引用该镜像即可。

mirror配置在这里插入图片描述
3. 与另一个module(common)相关类编译报错,符号找不到
common中部分最新代码报错,当前module没找到common最新的jar包,导致引用不到最新方法报错。
解决:
先对父包install,再对子包操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值