maven使用及创建项目
一:简单介绍
他是一个帮我们管理jar,并帮助我们处理jar包依赖。
他是一个我们编译、测试、运行、打包的一键构建。
我们在使用后面的命令的同时,前面的过程也自动执行。
二、仓库的分类:
分本地仓库、远程仓库和中央仓库。
本地仓库的配置文件在:
maven项目的目录结构:
在我们创建的项目的时候,java和resources目录是不存在的。需要手动创建。
三、maven的命令:
compile
compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下。
cmd进入命令状态,执行mvn compile,如下图提示成功:
查看 target目录,class文件已生成,编译完成。
test
test是maven工程的测试命令,会执行src/test/java下的单元测试类。
cmd执行mvn test执行src/test/java下单元测试类,下图为测试结果,运行1个测试用例,全部成功。
clean
clean是maven工程的清理命令,执行 clean会删除target目录的内容。
package
package是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。
install
install是maven工程的安装命令,执行install将maven打成jar包或war包发布到本地仓库。
从运行结果中,可以看出:
当后面的命令执行时,前面的操作过程也都会自动执行。
四、IDEA创建maven项目:
1)
2)
点击next
点击next
点击next
点击finish
完成之后右下角:创建的进度。
完成之后:右下角点击自动导入
创建完之后项目的目录:
只有webapp。没有java和resources目录 。
我们点击:
点击module的Sources。
新建的java,目录变成蓝色。
同理创建resources目录 不过右击的时候点击的是:
然后在看新创建的目录:有独有的标识。
然后点击apply -->ok
这样咱们的maven的项目的 创建完。
如何添加依赖呢?
打开pom.xml,点击标签:<dependencies> 然后录Alt+insert 快捷键出现:
然后点击Dependency:
点击我们想要的jar版本。
点击add
在pom.xml文件就自动添加了我们想要的依赖:
这样就添加我们的依赖,一般情况我们将现成的pom.xml文件直接使用避免一个一个导入。
五、配置tomcat:
添加本地的tomcatserver。
六、我们在java中写个简单的servlet。
创建一个servlet:
1 package com.jd.test; 2 3 import java.io.IOException; 4 5 public class ServletTest extends javax.servlet.http.HttpServlet { 6 protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { 7 8 } 9 10 protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { 11 response.setContentType("text/html;charset=utf-8"); 12 response.getWriter().print("这是一个测试页面!"); 13 } 14 }
web.xml配置:
七:如果本地仓库没有,怎么添加jar包到本地仓库?
命令如下:
1 mvn install:install-file -Dfile=C:\Users\Administrator\commons-pool2-2.5.0.jar -DgroupId=org.apache -DartifactId=commons-pool -Dversion=2-2.5 -Dpackaging=jar
八:当我们引入的依赖比如说spring4.0的时候相关的jar包会重复出现版本号4.0 这个时候我们可以定义属性,来进行变量设定。
1 <properties> 2 <spring.version>4.2.4.RELEASE</spring.version> 3 <struts2.version>2.3.24</struts2.version> 4 <hibernate.version>5.0.7.Final</hibernate.version> 5 <slf4j.version>1.6.6</slf4j.version> 6 <log4j.version>1.2.12</log4j.version> 7 <shiro.version>1.2.3</shiro.version> 8 <cxf.version>3.0.1</cxf.version> 9 <c3p0.version>0.9.1.2</c3p0.version> 10 <mysql.version>5.1.6</mysql.version> 11 </properties>
其中标签内的<c3p0.version>这个内容可以随便定义,可以定义xx在引用的时候,直接${xx}引用即可。
1 <dependency> 2 <groupId>c3p0</groupId> 3 <artifactId>c3p0</artifactId> 4 <version>${c3p0.version}</version> 5 </dependency>