自己在用的时候遇到了不少问题,为了忘记的时候随时来查,现在汇总下。全部来自网络上查找的,全部是转载。

首先是转载链接



http://blessht.iteye.com/blog/1104450






一、maven常用命令

  1. 创建Maven的普通java项目:mvn archetype:create -DgroupId=com.codeline.commons -DartifactId=pjoName
  2. 创建Maven的Web项目:mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
  3. 编译源代码:mvn compile (或者:mvn compiler:compile)
  4. 编译测试代码:mvn test-compile
  5. 运行测试:mvn test
  6. 产生site:mvn site
  7. 打包:mvn package
  8. 在本地Repository中安装jar:mvn install
  9. 清除产生的项目:mvn clean
  10. 生成eclipse项目:mvn eclipse:eclipse
  11. 生成idea项目:mvn idea:idea
  12. 组合使用goal命令,如只打包不测试:mvn -Dtest package
  13. 编译测试的内容:mvn test-compile
  14. 只打jar包: mvn jar:jar
  15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile (这里要特别注意 -skipping 的灵活运用,当然也可以用于其他组合命令)
  16. 只编译不测试 mvn clean install -Dmaven.test.skip=true
  17. 清除eclipse的一些系统设置:mvn eclipse:clean
  18. 查看解析依赖mvn dependency:list
  19. 项目依赖属mvn dependency:tree
  20. 分析依赖Mvn dependency:analyze

二、maven 管理的jar下载不了

可能是nexus服务器上没有放对应的jar包


三、启动tomcat报错   java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoader

到你的tomcat部署目录看下,应该是lib目录下缺jar包,原因有多种,解决方法有多种,我暂时没总结原因,先写解决方法,反正一个个试过去肯定能解决掉

①缓存问题,清空tomcat的work目录,然后重启。

 打开maven Web子模块的.project文件,<buildSpec>这个节点内部添加如下节点:



[html]  view plain copy



    1. <buildCommand>  
    2. <name>org.eclipse.m2e.core.maven2Builder</name>  
    3. <arguments>  
    4. </arguments>  
    5. </buildCommand>


        

        <natures>节点下添加如下节点:



    [html]  view plain copy

    1. <nature>org.eclipse.m2e.core.maven2Nature</nature>


        再打开maven Web子模块的.classpath文件,添加如下节点:



    [html]  view plain copy


    1. <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">  
    2. <attributes>  
    3. <attribute name="maven.pomderived" value="true"/>  
    4. <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>  
    5. </attributes>  
    6. </classpathentry>


        其实这个节点一般都是有的,但是一定要确认有没有这个属性<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>。

        然后在eclipse的项目上refresh一下maven项目,再在这个项目对应的tomcat上邮件点击”clean“。然后去自动发布的路径上,就会发现,所有maven依赖的jar包都出来了。

    ③(最好使的一种)


    在我们配置好maven环境之后,当我们发布项目的时候会有不发布MAVEN依赖的JAR包的情况。这时候我们就需要如下配置:


    idea 清除maven旧版本jar idea怎么清除maven缓存记录_部署

    上图是我添加之后的。按照我圈红的部分去操作。正确的时候应该是有的。看下图


    idea 清除maven旧版本jar idea怎么清除maven缓存记录_jar_02

    经过上述操作之后。应该是有一个maven的一个Dependencies 。需要我们手动添加进去。如此便可以解决该问题。然后重新发布