自己在用的时候遇到了不少问题,为了忘记的时候随时来查,现在汇总下。全部来自网络上查找的,全部是转载。
首先是转载链接
http://blog.csdn.net/wangxifeng920/article/details/6332579
http://blog.csdn.net/liu_xing_hui/article/details/7552632
http://blessht.iteye.com/blog/1104450
http://blog.csdn.net/bruce128/article/details/41009271
http://blog.csdn.net/smilevt/article/details/8212075
http://www.cnblogs.com/qq78292959/p/3711497.html
http://blog.csdn.net/zhang6622056/article/details/9772951
一、maven常用命令
- 创建Maven的普通java项目:mvn archetype:create -DgroupId=com.codeline.commons -DartifactId=pjoName
- 创建Maven的Web项目:mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
- 编译源代码:mvn compile (或者:mvn compiler:compile)
- 编译测试代码:mvn test-compile
- 运行测试:mvn test
- 产生site:mvn site
- 打包:mvn package
- 在本地Repository中安装jar:mvn install
- 清除产生的项目:mvn clean
- 生成eclipse项目:mvn eclipse:eclipse
- 生成idea项目:mvn idea:idea
- 组合使用goal命令,如只打包不测试:mvn -Dtest package
- 编译测试的内容:mvn test-compile
- 只打jar包: mvn jar:jar
- 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile (这里要特别注意 -skipping 的灵活运用,当然也可以用于其他组合命令)
- 只编译不测试 mvn clean install -Dmaven.test.skip=true
- 清除eclipse的一些系统设置:mvn eclipse:clean
-
查看解析依赖mvn dependency:list
-
项目依赖属mvn dependency:tree
-
分析依赖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>这个节点内部添加如下节点:
- <buildCommand>
- <name>org.eclipse.m2e.core.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
<natures>节点下添加如下节点:
- <nature>org.eclipse.m2e.core.maven2Nature</nature>
再打开maven Web子模块的.classpath文件,添加如下节点:
- <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
- </attributes>
- </classpathentry>
其实这个节点一般都是有的,但是一定要确认有没有这个属性<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>。
然后在eclipse的项目上refresh一下maven项目,再在这个项目对应的tomcat上邮件点击”clean“。然后去自动发布的路径上,就会发现,所有maven依赖的jar包都出来了。
③(最好使的一种)
在我们配置好maven环境之后,当我们发布项目的时候会有不发布MAVEN依赖的JAR包的情况。这时候我们就需要如下配置:
上图是我添加之后的。按照我圈红的部分去操作。正确的时候应该是有的。看下图
经过上述操作之后。应该是有一个maven的一个Dependencies 。需要我们手动添加进去。如此便可以解决该问题。然后重新发布