maven中遵循“约定优于配置”的原则,因此,使用maven构建项目需要遵循一定的规则规范。
一、maven项目结构
- src:为java的源码文件目录
- main 为程序源码目录
- test 为测试文件目录
- pom.xml为项目中maven的配置文件
注:shixinke-javaweb为项目名称
二、maven的项目配置文件pom简介
maven项目配置文件pom的介绍,可以参考官网:http://maven.apache.org/pom.html
三、maven基本用法
(1)使用maven生成项目骨架
mvn archetype:generate
注:运行该命令并生成项目骨架,并生成maven的项目配置pom.xml,在运行时需要填写相关信息
(2)项目构建打包命令
mvn package
注:当你运行“mvn package”命令,它会编译源代码,运行单元测试和包装这取决于在pom.xml文件的“packaging”标签。它会在当前项目目录下生成一个target目录,其结构如下:
(3)清理项目
mvn clean
注:在基于Maven的项目中,很多缓存输出在“target”文件夹中。如果想建立项目部署,必须确保清理所有缓存的输出,从面能够随时获得最新的部署。使用mvn clean可以清除这些缓存(删除target整个文件夹)。
(4)执行单元测试
mvn test
注:前提是你已经写了单元测试
(5)项目构建打包并将项目安装到本地仓库
默认的本地仓库在当前用户目录的.m2/repository中。
mvn install
它与mvn package的区别是,它不仅构建生成项目jar包,而且会把当前项目安装到本地仓库中
它通常与mvn clean一起使用
(6)通过maven将项目部署到tomcat上
- a.第一步:在tomcat添加用户,并授予一定的权限,完成修改后,请重启tomcat
进入tomcat安装目录的conf目录下,打开tomcat-users.xml,添加以下内容:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="maven" password="maven:shixinke" roles="manager-gui,manager-script" />
注:这里的角色名称不能随便命名,它共有以下几种角色:
- manager-gui:允许访问html接口(即URL路径为/manager/html/*)
- manager-script:允许访问纯文本接口(即URL路径为/manager/text/*)
- manager-jmx:允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
manager-status:允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)
b.第二步:将第一步添加的用户名加入到maven的配置中,打开maven的配置文件conf/settings.xml,添加以下内容:
<servers>
<server>
<id>TomcatServer</id>
<username>maven</username>
<password>maven:shixinke</password>
</server>
</servers>
- c.第三步:在项目配置pom.xml中,添加一个tomcat的插件
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>TomcatServer</server>
<path>/javaweb</path>
</configuration>
</plugin>
d.第四步:发布到tomcat
- 部署
mvn tomcat7:deploy
- 取消部署
mvn tomcat7:undeploy
- 重新部署
mvn tomcat7:redeploy
四、在idea中配置maven
可能通过Settings->Build,Execution,Deployment->Build Tools->Maven来配置