maven3.3.3安装以及在eclispe下创建项目
说明:
maven3.3.3只能支持jdk1.7以上版本
一、安装
步骤1解压
下载地址:
直接解压apache-maven-3.3.3-bin.zip文件到D盘即可
步骤2环境变量设置
1.创建 MAVEN_HOME D:\apache-maven-3.3.3
2.Path环境变量中增加 ;%MAVEN_HOME%\bin
3.创建 M2_REPO D:\mave_m2\repository(自己建立的仓储目录,因为默认为C:\Users\用户名\.m2目录,不太安全)
4.Path环境变量中增加 ;%M2_REPO%
步骤3maven的settings.xml配置
找到D:\apache-maven-3.3.3\conf\settings.xml文件,新增<localRepository>D:\mave_m2\repository</localRepository>(表示本地仓库的地址为:D:\mave_m2\repository);
步骤4复制settings.xml
将上一步修改好的settings.xml文件复制到D:\Java\m2\repository目录下一份
步骤5eclipse的配置
1、 eclipse中windows->preferences->maven->installations 点击add按键-》选择Directory-》maven安装目录,然后勾选。如下图
2、eclipse点击windows->preferences->maven->User setting下修改user setting选项为:D:\mave_m2\repository\settings.xml,并点击update settings。并点击下面的reindex按钮更新索引。maven的全局配置文件,如:D:\apache-maven-3.3.3\conf\setting.xml。
步骤6生成
最后打开CMD,执行mvn help:system会发现Maven从远程库下载的jar包都会放到新修改后的路径D:\mave_m2\repository中了
二、骨架项目生成
1.创建project
Eclipse new-》maven project –》 勾选 use defaultWorkspace location –》next
选择maven-archetype-webapp。
2.修改pom.xml文件
dependences标签中是spring和hibernate需要用的的所有依赖,其中javaee-api可以换成 javax:javaee-web-api:6.0。build标签中是将项目设为java1.6编译
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>zp.maven</groupId>
<artifactId>test</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>test Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.12</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.4.Final</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>javaee</groupId>
<artifactId>javaee-api</artifactId>
<version>5</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
<finalName>test</finalName>
</build>
</project>
3.修改项目的core.xml
然后,用资源管理器打开项目的根目录中的.setting文件夹,修改其中的org.eclipse.wst.common.project.facet.core.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
4.重启eclipse
重启eclipse,更新项目(右键点项目-maven-updateproject)。
5.报错问题
Cannot change version ofproject facet Dynamic Web Module to 3.0. 和 One or more constraints have not been satisfied.报错:
需要修改project的 properties的 project facts的 Dynamic Web Moudle Version版本和 web.xml中的版本一直,然后在通过maven update
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
三、简单项目生成WTP项目
1.创建工程
Eclipse new-》maven project –》 勾选 use defaultWorkspace location和Create a simple project(skip archetype selection)
填写工程信息,packaging选择war形式。然后finish
2.修改工程配置
1.工程-》properties-》ProjectFacets
同时选择下面的这个,生成新的webcontent
如果没有出现Further configuration available 选项,就先将Dynamic WebModule 选项勾掉,然后在勾上,就会出现
工程-》properties-》Deployment Assembly
四、关于jar包引入
非官方jar包处理:
在没有官方的maven repository提供的jar包,可以通过下面的命令手动添加到本地。
mvn install:install-file-Dfile=d:/java_memcached-release_2.6.6.jar -DgroupId=com.danga-DartifactId=memcached -Dversion=2.6.6 -Dpackaging=jar -DgeneratePom=true
官方mvn库:
直接search自己需要的jar包
五、命令详解
创建Maven普通Java项目:
1 2 3 |
mvn archetype:create -DgroupId=packageName -DartifactId=projectName |
创建Maven Web项目:
1 2 3 4 |
mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp |
编辑源代码:
1 | mvn compile |
编辑测试代码:
1 | mvn test-compiple |
运行应用程序中的单元测试:
1 | mvn test |
生成项目相关信息的网站:
1 | mvn site |
生成站点目录并发布:
1 | mvn site-deploy |
打包:
1 | mvn package |
在本地Repository中安装jar:
1 | mvn install(打包项目,并在本地 Repository 中安装供其他项目依赖和使用,安装目录为C:\Documents and Settings\user\.m2\repository) |
清除产生的项目(target):
1 | mvn clean |
生成 Eclipse 项目文件:
1 | mvn eclipse:eclipse |
生成idea项目:
1 | mvn idea:idea |
组合使用goal命令,如只打包不测试:
1 | mvn -Dtest package |
编译测试的内容:
1 | mvn test-compile |
只打jar包:
1 | mvn jar:jar |
只测试而不编译,也不测试编译:
1 | mvn test -skipping compile -skipping test-compile ( -skipping 的灵活运用,当然也可以用于其他组合命令) |
清除eclipse的一些系统设置:
1 | mvn eclipse:clean |
忽略测试文档编译:
1 | mvn -Dmaven.test.skip=true(打包时跳过测试) |
查看帮助信息:
1 | mvn help:help 或 mvn help:help -Ddetail=true |
分析项目的依赖信息:
1 | mvn dependency:analyze 或 mvn dependency:tree |
查看实际pom信息:
1 | mvn help:effective-pom |
查看插件的帮助信息:
1 | mvn <plug-in>:help |
生成站点目录并发布:
1 | mvn site-deploy |
显示版本信息:
1 | mvn -version/-v |