zoukankan      html  css  js  c++  java
  • maven入门详解

    转自:http://www.cnblogs.com/laj12347/archive/2013/05/29/3105355.html

    ----------------准备工作-------------

    Jdk  1.6以上java开发环境。

    Eclipse IDE 一个。

    Maven 3.0.3下载地址: http://maven.apache.org/docs/3.0.3/release-notes.html  http://maven.apache.org/download.cgi

    1、快速搭建步骤

    将下载文件解压,然后设置maven环境

    如果你配置过jdk的话,这里对你应该不难。如我的maven环境为:F:mavenapache-maven-3.0.3

    我的电脑-----属性----高级-----环境变量-----环境变量-----新建

    变量名:M2_HOME       变量值:F:mavenapache-maven-3.0.3

    找到path 在环境变量值尾部加入:;%M2_HOME%in;---前面注意分号

    当然,你也可以直接在path 路径下加入:;F:mavenapache-maven-3.0.3in  只是上面的方式更优雅一点。

    打开命令提示符(开始---运行---cmd),检查我们的java环境和maven环境是否有误。

    第二步:修改仓库位置

    修改我们仓库地址,仓库用于存放我们项目所依赖的所有jar包。

    我的仓库路径:F:maven epo----这个路径是我自己创建,你可以将路径创建在任何位置。

    打开F:mavenapache-maven-3.0.3conf目录下的setting.xml文件,设置成我们创建的仓库路径

    下面我们用一个命令验证一下。打开命令提示符,输入:mvn help:system

    该命令会打印出所有的java系统属性和环境变量。这些信息对我们日常的编程工作很有帮且。

    如果运行的过程中没有错误,打开我们仓库(F:maven epo)会发现里面多了一些文件。这些文件就是我们从maven的中央仓库下载到本地仓库的。

    第三步:创建maven项目

    创建一个我们自己的项目。我们通过maven命令行方式创建一个项目   (创建的目录可以随意不一定是  F:maven   任何存在的目录都可以) 

    mvn archetype:create -DgroupId=com.chongshi.test -DartifactId=hello -DpackageName=com.chongshi.test -Dversion=1.0

    因为是第一次构建项目,所有依赖的jar包都要从maven的中央仓库下载,所以需要时间等待。等以后我们的本地仓库中积累了我们常用的jar包后,我们的开发将变得非常规范和方便。

    借助下载jar包的时间,我们来了解一下pom.xml文件。

    复制代码
     1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     3   <modelVersion>4.0.0</modelVersion>
     4 
     5      <groupId>com.chongshi.test</groupId>
     6       <artifactId>hello</artifactId>
     7       <version>1.0</version>
     8    <packaging>jar</packaging>
     9 
    10   <name>hello</name>
    11   <url>http://maven.apache.org</url>
    12 
    13   <properties>
    14     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    15   </properties>
    16 
    17   <dependencies>
    18     <dependency>
    19       <groupId>junit</groupId>
    20       <artifactId>junit</artifactId>
    21       <version>3.8.1</version>
    22       <scope>test</scope>
    23     </dependency>
    24   </dependencies>
    25 </project>
    复制代码

    Ø project:pom.xml文件中的顶层元素; 
    Ø modelVersion:指明POM使用的对象模型的版本。这个值很少改动。
    Ø groupId:指明创建项目的组织或者小组的唯一标识。GroupId是项目的关键标识,典型的,此标识以组织的完全限定名来定义。比如,org.apache.maven.plugins是所有Maven插件项目指定的groupId。 

    Ø artifactId:指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个JAR文件。第二,象源代码包通常使用artifactId作为最后名称的一部分。典型的产品名称使用这个格式: <artifactId>- <version>. <extension>(比如:myapp-1.0.jar)。 

    Ø version:项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,表明项目处于开发阶段。 

    Ø name:项目的显示名称,通常用于maven产生的文档中。 

    Ø url:指定项目站点,通常用于maven产生的文档中。 

    Ø description:描述此项目,通常用于maven产生的文档中。

    第四步:编译项目代码

    我们的项目已经创建完成。但我们点开目录发现,它并不是我们eclipse所需要的项目目录格式。我们需要把它构建成我们eclipse可以导入的项目。     

    在命令提示符下进入到我们的创建的项目目录(F:mavenhello)下,执行:mvn clean compile

    Clean 告诉maven清理输入出目录target/,compile告诉maven编译项目主代码。 

    不要急,我们又需要一段时间来下载相关jar包。^_^!第一次用maven要学会淡定。                                  

    目是编译完了,但项目的目录结构还不是我们想要的eclipse的项目结构,是不能导入到eclipse中的。所以,还需要执行一个命令:mvn eclipse:eclipse      

    命令执行完成后就得我们需要的项目目录了。

     第五步:导入eclipse

    打开的我们的eclipse工具。先配置maven仓库路径

    Window----Perferences-----java-----Build Path-----Classpath Variables    ——>New一个变量的类路径。

       Name :M2_REPO   注意这个名字必须要大写。Path :F:/maven/repo  点击“Folder…”找到有本地仓库的位置。

     下面,可以导入我的hello项目了。Eclipse如何导入项目,我这里就不说了,如果你是个java开发人员的话。

    如何创建一个web项目

    1. 如何创建一个web项目。其实非常简单,只是比普通项目多加一个参数DarchetypeArtifactId ,命令如下:

    mvn archetype:generate -DgroupId=com.chongshi.test -DartifactId=mywebapps  -DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0

    定位到创建项目的目录下构建成eclipse项目:

    F:mywebapp>mvn eclipse:eclipse

    通过maven构建后就是我们eclipse所需要的项目目录如下。

    web项目的标准目录结构如下:

    在构建的项目个中没有java目录,通过手动创建就可以。(maven 的作用是帮助程序员管理 jar包的依赖,规范项目的结构,其他的一些项目中需要的java类、xml配置信息等都需要自己编写)

    通过pom.xml 配置创建项目

     View Code

    pom.xml完成之后,根据pom.xml 中目录结构创建项目结构目录如下

    左边是根据pom中配置穿件的目录结构,右边是执行 mvn eclipse:eclipse  之后的目录结构。

    在项目中我们引入了了spring框架,具体配置可以参考http://www.springsource.org/spring-framework

    <dependency>

     <groupId>org.springframework</groupId>

     <artifactId>spring-context</artifactId>

     <version>3.1.1.RELEASE</version>

    </dependency> 

    还依赖servlet、junit。在build标签下,加入了一下插件,如编译插件可以设定使用的java版本、拷贝jar到制定目录下的插件。 (插件可以更具“功能”去百度、google搜索)。 maven构建了基本的项目,之后就可以在相应的目录编写代码了,所有的xml java 等等还需要手动去写。

    参考

    http://www.cnblogs.com/fnng/archive/2011/12/02/2272610.html  入门

    http://www.cnblogs.com/fnng/archive/2011/12/16/2290587.html   web项目   jetty是通过maven 运行tomcat的插件

    http://www.cnblogs.com/phoebus0501/archive/2011/05/10/2042511.html    MAVEN常用命令

    http://www.blogjava.net/jianyue/articles/227932.html   maven pom.xml详解

    http://blog.csdn.net/yuxinleipp/article/details/7633600    maven 拷贝依赖jar到 lib中

    http://www.blogjava.net/jianyue/articles/maven2_setting.html     maven2 setting文件详解

    http://blog.csdn.net/sosohotsummer/article/details/8963869   

    http://blog.csdn.net/johnjobs/article/details/8110779

    http://blog.csdn.net/shb_derek/article/details/8163461    maven用途、核心概念、用法、常用参数和命令、扩展 

     

    MAVEN常用命令

    Maven库:

    http://repo2.maven.org/maven2/

    Maven依赖查询:

    http://mvnrepository.com/

    Maven常用命令: 
    1. 创建Maven的普通java项目: 
       mvn archetype:create 
       -DgroupId=packageName 
       -DartifactId=projectName  
    2. 创建Maven的Web项目:   
        mvn archetype:create 
        -DgroupId=packageName    
        -DartifactId=webappName 
        -DarchetypeArtifactId=maven-archetype-webapp    
    3. 编译源代码: mvn compile 
    4. 编译测试代码:mvn test-compile    
    5. 运行测试:mvn test   
    6. 产生site:mvn site   
    7. 打包:mvn package   
    8. 在本地Repository中安装jar:mvn install 
    9. 清除产生的项目:mvn clean   
    10. 生成eclipse项目:mvn eclipse:eclipse  
    11. 生成idea项目:mvn idea:idea  
    12. 组合使用goal命令,如只打包不测试:mvn -Dtest package   
    13. 编译测试的内容:mvn test-compile  
    14. 只打jar包: mvn jar:jar  
    15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile 
          ( -skipping 的灵活运用,当然也可以用于其他组合命令)  
    16. 清除eclipse的一些系统设置:mvn eclipse:clean  

    ps: 

    一般使用情况是这样,首先通过cvs或svn下载代码到本机,然后执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验,也可以下载eclipse的maven插件。 

    mvn -version/-v  显示版本信息 
    mvn archetype:generate        创建mvn项目 
    mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app   创建mvn项目 

    mvn package            生成target目录,编译、测试代码,生成测试报告,生成jar/war文件 
    mvn jetty:run            运行项目于jetty上, 
    mvn compile                    编译 
    mvn test                    编译并测试 
    mvn clean                    清空生成的文件 
    mvn site                    生成项目相关信息的网站 
    mvn -Dwtpversion=1.0 eclipse:eclipse        生成Wtp插件的Web项目 
    mvn -Dwtpversion=1.0 eclipse:clean        清除Eclipse项目的配置信息(Web项目) 
    mvn eclipse:eclipse                将项目转化为Eclipse项目 

    在应用程序用使用多个存储库 
    <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 deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/ 


    发布第三方Jar到本地库中: 

    mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:client-0.1.0.jar 


    -DdownloadSources=true 

    -DdownloadJavadocs=true 

    mvn -e            显示详细错误 信息. 

    mvn validate        验证工程是否正确,所有需要的资源是否可用。 
    mvn test-compile    编译项目测试代码。 。 
    mvn integration-test     在集成测试可以运行的环境中处理和发布包。 
    mvn verify        运行任何检查,验证包是否有效且达到质量标准。     
    mvn generate-sources    产生应用需要的任何额外的源代码,如xdoclet。 

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lifxue/archive/2009/10/14/4662902.aspx 

    常用命令: 
    mvn -v 显示版本 
    mvn help:describe -Dplugin=help 使用 help 插件的  describe 目标来输出 Maven Help 插件的信息。 
    mvn help:describe -Dplugin=help -Dfull 使用Help 插件输出完整的带有参数的目标列 
    mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 获取单个目标的信息,设置  mojo 参数和  plugin 参数。此命令列出了Compiler 插件的compile 目标的所有信息 
    mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 插件可用的目标 
    mvn help:effective-pom 看这个“有效的 (effective)”POM,它暴露了 Maven的默认设置 

    mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 创建Maven的普通java项目,在命令行使用Maven Archetype 插件 
    mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 插件让我们能够在不往 classpath 载入适当的依赖的情况下,运行这个程序 
    mvn dependency:resolve 打印出已解决依赖的列表 
    mvn dependency:tree 打印整个依赖树 

    mvn install -X 想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行 
    mvn install -Dmaven.test.skip=true 给任何目标添加maven.test.skip 属性就能跳过测试 
    mvn install assembly:assembly 构建装配Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件 

    mvn jetty:run 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用 
    mvn compile 编译你的项目 
    mvn clean install 删除再编译 

    mvn hibernate3:hbm2ddl 使用 Hibernate3 插件构造数据库

  • 相关阅读:
    C# 动态添加用户控件
    临时记载C#中给DataGrid添加甘特图效果
    xp去掉快捷方式上的箭头
    wpf DataGrid的操作
    一路向前的算法
    WPF 解决WebBrowser控件汉字出现乱码的一种方案
    在CentOS 7 上安装 WordExpress
    创建Chrome插件
    开始PHP和JAVA
    failedtoloadcbsonextension
  • 原文地址:https://www.cnblogs.com/cugwx/p/3720267.html
Copyright © 2011-2022 走看看