笔者进行性能测试时,碰到如下问题

性能测试代码编写,调试通过之后。使用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的更多相关文章

  1. 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 ...

  2. The POM for XXX:jar:${com.ld.base.service.version} is missing, no dependency information available

    最近有个jar改了名字后,有个依赖它的工程死活引用的是老名字,导致打包的时候出错,如下所示: [INFO] ---------------------------------------------- ...

  3. 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 ...

  4. 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 ...

  5. The POM for ... is missing, no dependency information available

    今天在重温淘淘商城的项目,准备用idea重写次,换个bootstrap的前端框架,但是在用idea构建maven项目后编译时却报错了: 经再三确认,common工程自身并没有任何问题,引用这个工程的地 ...

  6. 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 ...

  7. 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 ...

  8. 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 里面的路径 ...

  9. 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 ...

随机推荐

  1. STM32 HAL库学习系列第8篇---回调函数总结

    普通函数与回调函数的区别:就是ST将中断封装,给使用者的API,就是标准库的中断函数 对普通函数的调用: 调用程序发出对普通函数的调用后,程序执行立即转向被调用函数执行,直到被调用函数执行完毕后,再返 ...

  2. MySQL分布式数据库架构:分库、分表、排序、分页、分组、实现教程

    MySQL分库分表总结: 单库单表 : 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到. 单库多表 : 随着用户数量的增加, ...

  3. jquery-deferred应用

    我们说jquery1.5之后用的用deferred,那么deferred到底是个什么东西,看个例子 var wait = function(){ var task = function(){ cons ...

  4. python3 excel基本操作及格式设置

    #encoding=utf-8 ''' excel基本操作整理 ''' #openpyxl 版本2.5.4 from openpyxl import * import datetime as dt f ...

  5. uWSGI ,WSGI和uwsgi的区别

    1.1.为方便理解,uWSGI ,WSGI和uwsgi在网站项目流程图中的功能如下: 1.2.网站项目结构图 2.uWSGI ,WSGI和uwsgi的区别 2.1 WSGI: WSGI,全称 Web ...

  6. nginx url默认去掉index.php

  7. 神经网络(3)---如何表示hypothesis,如何表示我们的model

    大脑中的神经元 我们的大脑都充满了上图所示的神经元,神经元有一个细胞体(cell body),还有一些input wires,专业词汇叫做树突(dendrite),它们从其它地方接收输入信息,神经元还 ...

  8. 多任务5-协程(IO密集型适用)--gevent完成多任务及monkey补丁

    代码: import gevent def f1(n): for i in range(n): print(gevent.getcurrent(),i) gevent.sleep(1) def f2( ...

  9. POJ-2115-C Looooops(线性同余方程)

    链接: https://vjudge.net/problem/POJ-2115 题意: A Compiler Mystery: We are given a C-language style for ...

  10. [ARIA] Accessible modal dialogs

    Learn how to create a modal dialog with accessible keyboard and screen reader mechanics using the na ...