The pom for XXX is missing,no dependency information available
笔者进行性能测试时,碰到如下问题
性能测试代码编写,调试通过之后。使用cmd进入项目根目录,意图打包导出项目中所有的依赖包,以便导入至jmeter工具中
cmd中使用命令:mvn dependency:copy-dependencies -DoutputDirectory=lib 。具体报错信息如下:

根据报错信息可看出,四个jar包没有可用的dependency信息。随后返回项目中查看四个jar包的dependency,发现一切正常。再次运行了项目,发现能够正常运行,并未任何报错信息。
为了进一步排除代码问题。将代码在另外一台机器执行,执行命令:mvn dependency:copy-dependencies -DoutputDirectory=lib 则完全ok
经过以上操作后,通过分析,基本把问题定位在maven工具上。因为相同代码,不同机器上的执行结果不同,那么只能是maven工具问题。
然后比对了两台机器上的maven,发现版本,配置文件均一致。
这让我陷入了思考:代码,工具均一致,结果却完全不同。根据报错信息能看出,输出依赖包时,maven并未找到有效的jar包信息。那么maven识别有效的jar包信息,是根据配置文件来的,但两台机器的配置文件完全一致。那么很有可能,就是配置文件的路径问题
想到这里,使用mvn -X查看debug日志,发现maven在读取配置文件时,优先读取maven环境变量配置的那个settings配置文件,而这个配置文件就是在%MAVEN_HOME%\conf\目录下。对比了两台机器,发现出错的那台机器上,安装包下的/conf/settings.xml文件中是最原始的文件(即没有任何配置信息),而IDEA中配置的是D:maven/settings.xml。至此,问题找到

解决方案很简单,把可用的D:maven/settings.xml拷贝至%MAVEN_HOME%\conf\下,替换掉原来不可用的settings.xml,再次执行mvn dependency:copy-dependencies -DoutputDirectory=lib。执行成功

后记:
1.maven使用命令在输出依赖包时,有先寻找的是%MAVEN_HOME%\conf\settings.xml,当这个文件不存在或者是无效配置时,则再寻找 C:\Users\XXX\.m2\settings.xml,如果还是无效或不存在,则报错

2.maven在IDEA中则根据配置来。默认是C:\Users\XXX\.m2\settings.xml。实际上很多使用人员都会修改该路径到其他目录
建议:要么直接使用默认路径:C:\Users\XXX\.m2\settings.xml;要么使用%MAVEN_HOME%\conf\settings.xml。

3.至于本地仓库位置,可根据自己喜好,配置在settings.xml中即可

The pom for XXX is missing,no dependency information available的更多相关文章
- Maven打包报错:[WARNING] The POM for xxx is missing, no dependency inform
maven install 或 package 时 ,执行警告报错: [WARNING] The POM for com.xx-base:jar:1.0 is missing, no dependen ...
- The POM for XXX:jar:${com.ld.base.service.version} is missing, no dependency information available
最近有个jar改了名字后,有个依赖它的工程死活引用的是老名字,导致打包的时候出错,如下所示: [INFO] ---------------------------------------------- ...
- The POM for cn.e3mall:e3mall-common:jar:0.0.1-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for cn.e3mall:e3mall-common:jar:0.0.1-SNAPSHOT is missing, no dependency informati ...
- Failed to execute goal on project MakeFriends: Could not resolve dependencie The POM for .chengpai.jtd:jtd-service-api:jar:1.0-SNAPSHOT is missing, no dependency information available
本笔者在学习maven的基础,然后建立了一个maven的项目,然后想对其进行依赖操作,pom.xml进行依赖操作时候出现了这样的错误,说是找不到这个依赖的包,但是事实上已经导入了这个包. 同时,也在m ...
- The POM for ... is missing, no dependency information available
今天在重温淘淘商城的项目,准备用idea重写次,换个bootstrap的前端框架,但是在用idea构建maven项目后编译时却报错了: 经再三确认,common工程自身并没有任何问题,引用这个工程的地 ...
- files list file for package 'xxx' is missing final newline
#!/usr/bin/python # 8th November, 2009 # update manager failed, giving me the error: # 'files list f ...
- The POM for XXX is invalid, transitive dependencies (if any) will not be available解决方案
今天,某个开发的环境在编译的时候提示警告The POM for XXX is invalid, transitive dependencies (if any) will not be availab ...
- Description Resource Path Location Type Missing artifact com.********:framework:jar:1.0.2 pom.xml /项目名 line **** Maven Dependency Problem
问题具体描述如下图所示: 对于该问题本人是这么解决的. 在window下[Preferences]目录找到[Maven]下的[usersetting] 查看local repository 里面的路径 ...
- maven编译问题之 -The POM for XXX is invalid, transitive dependencies (if any) will not be available
问题一: 把父工程tao-parent install 到maven本地仓后,接着install tao-common工程,然后报错 报错信息如下: [WARNING] The POM for com ...
随机推荐
- 脚本shell
vim删除以#,空格开头的行 1,删除以#号开头的行: :g/^#/d :%s/^#.*\n 2,删除以空格开头的行: :g/^\s/d “\s代表空格” :%s/^ ...
- 用js刷剑指offer(栈的压入、弹出序列)
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...
- JS与小程序页面生命周期
Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周 ...
- Codeforces #367 (Div. 2) D. Vasiliy's Multiset (trie 树)
http://codeforces.com/group/1EzrFFyOc0/contest/706/problem/D 题目:就是有3种操作 + x向集合里添加 x - x 删除x元素,(保证存在 ...
- Codeforces 1206 D - Shortest Cycle
D - Shortest Cycle 思路:n大于某个值肯定有个三元环,否则floyd找最小环. 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) ...
- P1967 货车运输[生成树+LCA]
题目描述 A国有n座城市,编号从 1到n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q* 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重 ...
- c++之:new与malloc
#include <iostream> using namespace std; void spacealloc_c() { //开辟内存空间---C语言风格 int *p = (int ...
- js中使用Switch
语法 switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: n 与 case 1 和 case 2 不同时执行的代码 } ...
- [GraphQL] Reuse GraphQL Selection Sets with Fragments
Fragments are selection sets that can be used across multiple queries. They allow you to refactor re ...
- git merge 及 git rebase的区别
Git上合并代码有git merge 及 git rebase 两种方式. 前置知识点 Master分支:首先,代码库应该有一个.且仅有一个主分支.所有提供给用户使用的正式版本,都在这个主分支上发布. ...