zoukankan      html  css  js  c++  java
  • Maven的简单搭建

    Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。接下来将从下面几个方向介绍maven:

    (1)Maven简单介绍 

    (2)Maven安装与配置 

    (3)Maven的常用命令 

    (4)Maven实例

    (1)Maven的简单介绍

    Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。但是对于我们程序员来说,我们最关心的是它的项目构建功能。所以这里我们介绍的就是怎样用 maven 来满足我们项目的日常需要。Maven 使用惯例优于配置的原则 。它要求在没有定制之前,所有的项目都有如下的结构:

    这里写图片描述

    一个 maven 项目在默认情况下会产生 jar 文件,另外 ,编译后 的 classes 会放在 basedir/target/classes 下面, jar 文件会放在 ${basedir}/target 下面。接下来我们来安装 maven 。

    (2)Maven安装与配置

    2.1、下载maven安装包:apache-maven-3.2.1 http://download.csdn.net/detail/u013142781/9355367,解压即可使用。

    2.2、maven环境变量配置,配置方式跟jdk有些类似。新建环境变量MAVEN_HOME(值为maven的根目录)、然后在PATH环境变量里加入%MAVEN_HOME%in;即可。

    2.3、设置setting.xml文件,配置本地仓库。apache-maven-3.2.1conf下有个setting.xml文件,打开,localRepository的值设置成你本地仓库的路径。(博主在apache-maven-3.2.1根目录下创建了个repository文件夹作为本地仓库)。如下图

    这里写图片描述

    2.4、然后重启eclipse,当你打开Window→ Preferences…的时候,你应该能够在一个选项列表中看到一个Maven选项:

    这里写图片描述

    然后,Windows–>Prefrences–>Installations–>Add。installation name选maven的根目录,然后一直按确定就OK啦。

    这里写图片描述

    至此 maven安装配置完成!

    (3)Maven的常用命令

    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

    (4)Maven实例

    1、Maven工程创建

    这里写图片描述

    2、选择快速框架

    这里写图片描述

    3、输出项目名,包(Packaging,如果只是普通的项目,选jar就好了,如果是web项目就选war,这里我们选择jar)

    这里写图片描述

    4、创建好的目录如下:

    这里写图片描述

    5、刚开始的pom.xml是这样的

    这里写图片描述

    6、现在我们添加mysql驱动包的依赖,编辑pom.xml如下:

    <code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">project</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">xmlns</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"http://maven.apache.org/POM/4.0.0"</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">xmlns:xsi</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"http://www.w3.org/2001/XMLSchema-instance"</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">xsi:schemaLocation</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"</span>></span>
      <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">modelVersion</span>></span>4.0.0<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">modelVersion</span>></span>
      <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>com.luo<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>
      <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>first_maven_project<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>
      <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>0.0.1-SNAPSHOT<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>
    
      <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependencies</span>></span>
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"><!-- mysql驱动包 --></span>
            <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span>
                <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>mysql<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">groupId</span>></span>
                <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>mysql-connector-java<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">artifactId</span>></span>
                <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>5.1.29<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">version</span>></span>
            <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependency</span>></span>
        <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">dependencies</span>></span>
    
    <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">project</span>></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute;  50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right- 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li></ul>

    7、如上编辑pom.xml,然后保存,那么就会自动从中央仓库下载包,会发现这里多了一个包:

    这里写图片描述

    然后就可以正常使用这个包啦

    8、其他想要依赖的包,对应的dependency,可以在这个网站找: 
    http://mvnrepository.com/

    这里写图片描述

  • 相关阅读:
    python库--pandas--Series.str--字符串处理
    前端--jstree--异步加载数据
    python库--flask--创建嵌套蓝图
    Git--生成公钥和私钥并添加gitlab访问权限
    es查询--请求body
    python生成时间序列(date_range)
    golang使用组合完成伪继承
    golang interface类型的动态绑定
    ruby环境安装草稿
    openfire
  • 原文地址:https://www.cnblogs.com/huangjinwen/p/6821151.html
Copyright © 2011-2022 走看看