原因: 其中某一个或者几个依赖缺少pom文件
解决方法:将依赖包上传到maven私服中,然后引用新的依赖。
eclipse中maven问题:Project '***.***.**.war-1.0-SNAPSHOT' is missing required library: ' 。 尽管本地仓库中所有内容都正常,各种clean都试过了。还不ok。
把eclipse中的project删掉,再重新import进来就OK了。
还有一种情况,因为eclipse中的maven插件被禁用,每一次重新下jar包以及更新依赖关系都是通过外部的mvn命令,所以出现找不到相关jar的情况可以先删除ecilpse中的工程引用再关闭eclipse,再执行如下命令,然后再import进来。
cd all
cmd /k mvn eclipse:eclipse -DdownloadSources=true
mvn package -Dmaven.test.skip=true
打包jar到本地maven库:
mvn package -Dmaven.test.skip=true打包命令到本地targe
mvn install -Dmaven.test.skip=true打包命令到到m2库
问题:执行mvn -install -Dmaven.test.skip=true报实现类的overload关键字异常。
原因是近期为了使用pgp加解密工具把环境变量中的jdk换成了1.7的。
重新换回1.6就OK了
问题:打印jar包依赖树
有时候我们工程中的某个jar包是被简介依赖过来了,这样就无法直观的从pom文件中查看它的来源,此时可以借助mvn的dependency命令:
步骤
1.cmd进入工程主pom所在的目录,执行如下命令将依赖树输出到当前目录:
mvn dependency:tree -->tree.txt
注意:这个命令需要你的主pom中dependency的plugin
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.8</version> </plugin> </plugins> </build>
2.在tree.txt中我们通过包路劲就可以搜索到依赖情况。
这个方法可以用来定位包冲突等问题。
maven常用命令
1、打包:mvn clean package
2、打包并安装到本地仓库:mvn clean install
3、利用maven下载源代码:mvn dependency:sources
4、构建成eclipse工程:mvn eclipse:eclipse
5、清除eclipse结构:mvn eclipse:clean
6、查看maven的依赖树结构:mvn dependency:tree,输出到某个文件中:mvn dependency:tree -->tree.txt