一 maven环境搭建
说明:此文档主要写maven简介搭建流程
并添加了一个demo
[运行编译,清除,测试,打包,带主方法的打包,生成的jar包和安装到另外一个项目这些功能,这其中用到了一些常用的命令]
1 下载如下软件:
1) Maven软件:apache-maven-3.1.0-alpha-1-bin.tar.gz
下载地址:http://maven.apache.org/download.cgi
2) 和eclipse集成的插件: eclipse-maven3-plugin.7z
下载地址: http://115.com/file/dpk80gj0#eclipse-maven3-plugin.7z
2 配置环境
1)配置 JAVA_HOME,maven会用到这个,不配置的话后面会报错。
2)配置maven到环境变变量里
解压apache-maven-3.1.0-alpha-1-bin.tar.gz文件
环境变量里添加:
;E:\mavon\apache-maven-3.1.0-alpha-1-bin\apache-maven-3.1.0-alpha-1\bin
记得前面有分号.
3查看环境变量是否测试成功
Cmd下输入命令
mvn –v
出现如下信息:
4 建立仓库并更改conf目录下文件settings.xml
先添加仓库位置和名称repo ,然后设置仓库位置,更改settings.xml文件
本例的仓库位置放在:
E:/mavon/apache-maven-3.1.0-alpha-1-bin/repo
本例的配置如下:
5 查看java系统环境变量
输入如下命令:mvn help:system,如下图所示
6 创建项目
输入命令
mvn archetype:create -DgroupId=com.chongshi.test
-DartifactId=hello -DpackageName=com.chongshi.test -Dversion=1.0
此时会生成hello的项目,在我的电脑里是放在C:\Documents and Settings\chaigw这个目录下
注意:用命令生成的项目的路径和cmd的当前目录有关,在哪里目录下生成,新的项目就会在哪个目录下
7 编译
注意:在进行编译前需要先进入到项目目录,本例为hello,不然会找不到pom.xml文件而报错
cd hello
输入命令进行清除(在编译前清除之前编译过的文件)和编译
mvn clean compile (进行编译),
mvn eclipse:eclipse (此命令为了可以让项目hello可以加入到eclipse中)
8 导入后项目效果图
说明:上面的文档主要参考了如下链接的文档,因为这个文档说的比较详细,如有不明的请看原文件
http://www.cnblogs.com/fnng/archive/2011/12/02/2272610.html
二Eclipse 集成 maven
1安装eclipse-maven3-plugin.7z插件
先解压这个插件,会出现两个文件features和plugins,
把features和plugins目录下文件分别考入到eclipse目录下的 features和plugins下(别的插件也可以这么安装)
2 重启eclipse就可以了,如碰到问题见 FAQ
3 配置eclipse maven
重启后的eclispe在window—>proferencesà会有maven目录
需要如下两步配置
1) 点击mavenàinstallation -àadd添加 maven的路径
如下图所示:
2) 配置settings路径
在mavenàUser Settings下选择路径:
经过上面两步,maven的插件算是彻底的安装好了
说明:此处主要参考了下面的文档,如果不明请看原文件
http://www.blogjava.net/fancydeepin/archive/2012/07/13/eclipse_maven3_plugin.html
三使用Maven管理项目实例
1 先新建一个maven项目
2写个HelloWorld类在main目录中
3 运行编译命令
mvn compile
4 写一个测试类,并运行
mvc clean test
5 把项目打包
mvn clean package
打包后的路径:
6实现 jar包是可以运行的
[此处除非用到,否则现在不是很必要]
需要在pom.xml下添加插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.merit.hello.HelloWorld</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
再次打包可见里面添加了 Main-Class的信息:
8 项目包的安装
mvn install
此时会安装到中央仓库里面去
9 在第二个项目中使用生成的jar包
在第二个项目引用第一个项目打成jar包中的类的测试
看配置文件
下图为已经引入成功了
下图是测试类
至此,第一个示例已经完成
四常见问题 FAQ及其技巧
1 配置完插件会提示如下警告
这说明插件依赖的jar文件找不到,是因为jdk的路径设置的不对
解决方案需要以下两步
1) 配置jdk,(运行用jre,开发用jdk,此处要配置jdk的路径,因为maven插件的包用到了jdk的jar文件
2) 在eclipse 开发工具下,打开 eclipse.ini
添加如下选中的一句,
重启Eclipse这样问题就解决了
2 maven建立web项目的方法
只多了一行-DarchetypeArtifactId=maven-archetype-webapp
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3 maven项目的结构
是源码(包含主方法和测试方法的资源和java文件)
target 是编译后的文件
4 基本参数讲解
例如下面的参数
groupId 就是中央仓库的group1文件夹,类似于公司名
artifactId类似于模块名
version 是版本名,
jar包就在这一层层的目录文件下,条理清晰,易于管理和使用
<dependency>
<groupId>group1</groupId>
<artifactId>artifact1</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
5 eclipse没有想要的命令的解决方法
Run as à maven buildà在goal里面填写命令应用即可
例如 clean test
6 junit里面需要注意的地方
Scope 为test表示只能在测试包才能用,别的包不可以用,默认是compile,表示别的类也可以用
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
7 maven里面的 settings配置文件的主要标签解释
Settings的主要配置解释
localRepository:本地仓库配置路径
offline :是否是离线的,这个一般不用配置
Servers 配置用户名密码,用来方法nexus
Mirrors:用来访问其他库
Proxies:无法上网时使用代理的配置【应该很少用】
Profiles :个性化配置,需要激活