Maven2安装总结

以前虽然使用过Maven1.0,当发现现在的Maven2.0的变化和1.0比起来变化很大,配置上倒还一样,但是使用上有很大不同,如果你还用1.0的命令,会发现许多不能使用。闲话少叙,进入正题。

首先当然去Apache网站下载Maven2了。下载地址:http://maven.apache.org/download.html 。我下载的版本是maven-2.0.4-bin.zip

然后我把maven-2.0.4-bin.zip解压到D:\maven-2.0.4

下面就是配置环境变量了,这和1.0的版本是一样的。(1)MAVEN_HOME:D:\maven-2.0.4 (2)在Path 中加入%MAVEN_HOME%\bin
这样配置就OK了。然后,我建立了如下目录:E:\app\mavenApp,当然这些可以随便建立,呵呵。

测试是否安装成功 方法

在命令行输入 Mvn -version
显示
Maven version: 2.0.4
则安装成功。

 

Eclipse插件mavenide的安装
eclipse工程里安装update plugin更新方便如下:

Eclipse插件mavenide
同时在eclipse中我们可以下载一个maven的插件,用来辅助eclipse进行maven工程的开发工作。这个插件名称叫做mavenide。
这个插件可使用以下更新站点:http://m2eclipse.codehaus.org/
并且非常方便的是,这里还提供了一个flash的演示来介绍如何安装此插件,这个flash演示的观看地址在:
http://m2eclipse.codehaus.org/Installing_Maven_2.0_plugin_for_Eclipse.html
注意在图中有写update 网址时一定按照下面的更新的网站.否则会报错的
http://m2eclipse.sonatype.org/update

  这里就不做多写了

-----------------------------------------------

 

maven2的命令说明
在命令行下输入mvn -h , 显示mvn帮助,其中usage: mvn [options] [<goal(s)>] [<phase(s)>]表明了mvn命令的构成。
Options:可选的参数。比如前面提到的-version , -h等。
Goal(s): 表示maven构建的“目标”。比如前面的mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
其中archetype:create表示archetype插件下的create目标。这里,插件是为了某种目的构建的目标的集合,maven通过插件扩展其功能。 还可以为目标传递一些参数,比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。
Phase(s):阶段。表示maven构建生命周期 中的一个步骤。使用相位命令时,maven会执行生命周期中该阶段之前的所有命令,使项目处于指定的“状态”。

比如在刚才创建的项目路径下输入mvn compile,会创建target文件夹,并编译class,使项目处于“已编译”状态。

maven定义的生命周期中主要的相位如下:
validate: 验证项目是否正确以及相关信息是否可用。
compile: 编译。
test: 通过junit进行单元测试。
package: 根据事先指定的格式(比如jar),进行打包。
integration-test: 部署到运行环境中,准备进行集成测试。
verify: 对包进行有效性性和质量检查。
install: 安装到本地代码库。
deploy: 在集成或发布环境,将包发布到远程代码库。
在“默认”的生命周期之外,还有两个“阶段”:

clean: 清除以前的构建物。
site: 生成项目文档。
阶段实际上是通过目标的组合实现的。

组合命令 -----------------------------------------------------------------------
可以通过对目标及相位的组合使得一个命令完成多个功能,比如:
mvn clean dependency:copy-dependencies package
相当于按顺序执行
mvn clean
mvn dependency:copy-dependencies
mvn package 
-------------------------------------------------------------------
命令的说明如下:
创建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 的灵活运用,当然也可以用于其他组合命令)
清除eclipse的一些系统设置:mvn eclipse:clean
 
maven2本地的数据仓库目录
打开D:\maven-2.0.4\conf\settings.xml
1. 改变<localRepository>E:/app/m2/repository</localRepository> 目的:改变本地的数据仓库目录(存放从远程下载的jar包),如果不改变也可以,如不改变,缺省目录为:C:\Documents and Settings\主机名\.m2\repository
2. 配置代理,主要目的是为了能从远程下载jar包,根据实际的网路情况进行配置吧。因为我现在单位是有代理服务器的,如果不配置,就不能从远程下载jar包了。我的配置如下(注意:如果你的网络没有代理服务器,就不用配置这个步骤)
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<host>192.168.17.100</host>
<port>8889</port>
<nonProxyHosts>192.168.*.*</nonProxyHosts>
</proxy>
配置存储库

要求项目的每个开发者必须在conf目录中配置存储库是不方便的,所以Maven可以同时查看多个存储库并且将它们全部配置在settings.xml文件中。让我们看看一个例子,它展示了如何在应用程序用使用多个存储库。在以下从settings.xml文件摘录的片断中,我们设置了两个存储库来让Maven寻找依赖项。Ibiblio一直是默认的存储库,我们又添加了Planet Mirror作为后援存储库。我们也可以让团队使用的本地web服务器作为第二个存储库。

<repositories>
<repository>
<id>Ibiblio</id>
<name>Ibiblio</name>
<url>http://www.ibiblio.org/maven/</url>
</repository>
<repository>
<id>PlanetMirror</id>
<name>Planet Mirror</name>
<url>http://public.planetmirror.com/pub/maven/</url>
</repository>
</repositories>

 

 

---------------------------------

接下来我们体验一下maven2 ,

 第一步:

 在命令行中,进入你常用的项目文件夹,输入
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

让我们看一下mvn对项目目录的组织
My-app

├─pom.xml

└─src

├─main

│ └─java

│ └─com

│ └─mycompany

│ └─app

│ └─App.java

└─test

└─java

└─com

└─mycompany

└─app

└─AppTest.java

 可以看出,代码和测试代码分别放在main及test文件夹下。 Pom.xml描述项目对象模型(Project Object Model)。其模式文件为http://maven.apache.org/xsd/maven-4.0.0.xsd  详细的POM说明请参考相关资料。

 

-----

第二步: 生成eclipse项目

  当建立一个工程后,执行 mvn eclipse:eclipse ,建立一个eclipse的工程,

 

发现报如下错误:Unbound classpath variable: 'M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar' in project my-webapp   ,这是因为在Eclipse 没有配置 M2_REPO 变量,

配置步骤:window >> preferences >> Java >> Build Path >> Classpath Variables
新建一个 M2_REPO 的变量,变量值指向你系统的Maven2的数据仓库位置。

 

建立成功后可通过Eclipse导入的功能将工程导入到Eclipse中,

 

第三步 编写代码

 

package com.mycompany.app;

/**
 * Hello world!
 * 
 */
public class App {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
/**
 * 提供一个调用函数
 * @param ls_v
 */
	public void showTest(String ls_v) {
		System.out.println("out text===" + ls_v);
	}
}

 第四步 :编译代码

 

编译过程在工程文件夹下面输入如下命令
mvn clean
mvn compile
mvn package
或者 mvn clean compile  package

 第五步: 安装Jar(或war)依赖到本地的数据仓库中

进入 工程文件夹下面的\target目录下,发现有个my-app-1.0-SNAPSHOT.jar包

然后执行 mvn install:install-file -Dfile=my-app-1.0-SNAPSHOT.jar -DgroupId=myapp.mocha -DartifactId=myapptest -Dversion=1.0 -Dpackaging=jar
这样就把dwr传到了本地仓库中(我的本地仓库地址为:E:\app\m2\repository\),
上传到仓库中的jar包名为dwrDart-1.0.jar,目录结构为myapp/mocha/myapptest/1.0/myapptest-1.0.jar
 

第五步 在eclipse 中创建一个maven2的项目

  修改 项目中的 pom.xml文件

<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.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    
      <dependency>
      <groupId>myapp.mocha</groupId>
      <artifactId>myapptest</artifactId>
      <version>1.0</version>
      <scope>test1</scope>
    </dependency>

    
    
    
  </dependencies>
</project>

 其中红字部分为加载 jar包过程,刷新项目 ,你会发现,项目中加载了之前所打好的jar包,于是你就可以进行引用了。

 

 

============================================、

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值