maven问题总结

问题:Maven下载依赖时,出现Missing artifact错误提示

       原因: 其中某一个或者几个依赖缺少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

猜你喜欢

转载自bingyingao.iteye.com/blog/1428675