Maven2安装

Maven2安装总结
2007-02-25 17:09

以前虽然使用过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,当然这些可以随便建立,呵呵。

下面说一些Maven1.x和Maven2.x的不同(一些摘自一些网友文章)
------------------------------------
Maven2 把配置文件压缩成了pom.xmlsettings.xml 两个文件,简洁了不少。POM是Maven的核心对象模型,在Maven2中POM已由project.xml转移到pom.xml中使用,版本也由3升级为4。对于项目,一般只需要pom.xml就行了。在Maven2中不需要也不提倡使用maven.xml

生命周期的引入
在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建更加清晰明了。主要的生命周期阶段:

validate,验证工程是否正确,所有需要的资源是否可用。
compile,编译项目的源代码。
test-compile,编译项目测试代码。
test,使用已编译的测试代码,测试已编译的源代码。
package,已发布的格式,如jar,将已编译的源代码打包。
integration-test,在集成测试可以运行的环境中处理和发布包。
verify,运行任何检查,验证包是否有效且达到质量标准。
install,把包安装在本地的repository中,可以被其他工程作为依赖来使用
deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
generate-sources,产生应用需要的任何额外的源代码,如xdoclet。

新增Dependency Scope
在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:

compile,缺省值,适用于所有阶段,会随着项目一起发布。
provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
------------------------------------

下面说些基本设置,打开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>



下面就是一些goal命令了,这里和Maven1有不少不同,常用的命令有:

  • 创建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   

    =========================================================

    配置存储库

    要求项目的每个开发者必须在conf目录中配置存储库是不方便的,所以Maven可以同时查看多个存储库并且将它们全部配置在pom.xml文件中。让我们看看一个例子,它展示了如何在应用程序用使用多个存储库。在以下从pom.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>

    ==================================================
    遇到的小问题解决。
    * 当建立一个工程后,执行 mvn eclipse:eclipse ,建立一个maven的工程,用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的数据仓库位置。


    ------------------------------------------
    * 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>org.apache.hivemind</groupId>
         <artifactId>hivemind-examples</artifactId>
         <packaging>jar</packaging>
         <version>2.0-alpha-1</version>
         <parent>
             <groupId>org.apache.hivemind</groupId>
             <artifactId>hivemind-project</artifactId>
             <version>2.0-alpha-1</version>
             <relativePath>../pom.xml</relativePath>
         </parent>

         <name>HiveMind Examples</name>
         <inceptionYear>2003</inceptionYear>
         <dependencies>
             <dependency>
                 <groupId>org.apache.hivemind</groupId>
                 <artifactId>hivemind-framework</artifactId>
                 <version>2.0-alpha-1</version>
             </dependency>

    * 如何安装Jar(或war)依赖到本地的数据仓库中?
    下面具一个如何把dwr.jar包上传到本地数据仓库的例子,一看例子,大家就明了了。
    - 下载dwr.jar包到本地,我把它放到了 C:/ (C盘根目录)


    - 进入“命令行提示符”,进入到C:/,然后执行 mvn install:install-file -Dfile=dwr.jar -DgroupId=dwr.mocha -DartifactId=dwrDart -Dversion=1.0 -Dpackaging=jar 这样就把dwr传到了本地仓库中(我的本地仓库地址为:E:\app\m2\repository\),上传到仓库中的jar包名为dwrDart-1.0.jar,目录结构为dwr/mocha/dwrDart/1.0/dwrDart-1.0.jar

  •  
  • 另外也可以在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 网址时一定按照下面的更新的网站.否则会报错的


  •  
     
     
     
     
     
    1) comment the following:
     <!--
     <parent>
      <groupId>com.hactl.eaf</groupId>
      <artifactId>HACTL_EAF</artifactId>
      <version>1.0.0.0</version>
     </parent> -->
    2) mvn -Dtest=false package

    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <source>1.5</source>
            <target>1.5</target>
          </configuration>
        </plugin>
      </plugins>
    </build>
     
     
    在用Maven build项目的时候,如出来提示系统资源不足的错误,请在系统变量中添加变量: MAVEN_OPTS=-Xms256m -Xmx512m
     
    工程打包
    先进入目录D:\eclipse\workspace\security-core
    然后
    mvn -Dmaven.test.skip=true clean package (清除.如果清过第一次就直接做第二步)

    第二步mvn -Dtest=false -DfailIfNoTests=false install

    猜你喜欢

    转载自txy821.iteye.com/blog/657149