zoukankan      html  css  js  c++  java
  • 0.1 工程化之Maven相关知识(项目开发基础)

    一、Maven 

    1.1Maven是什么

      Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

      Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。

    概括地说,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。

    Maven的核心功能便是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包。

    1.2 Maven 和 Ant 的差异

    Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。

      

    1.3 优势以及特点

    1   约定优于配置  (Convention over configuration)          2简单       3测试支持  4 构建简单      5  CI    6    插件丰富

     

    1.4 安装和使用

    a) https://maven.apache.org/download.cgi       直接解压

    bin目录 :命令  boot:Class loader  类加载器 :conf目录:所有配置的setting.xml  

    超级pom.xml目录:D:Develop softwareapache-tomcat-7.0.52apache-maven-3.5.4libmaven-model-builder-3.5.4.jarorgapachemavenmodel 

    环境配置:MAV_HOME

    1. Windows  path
    2. Linux  .bash_profile 

    1.5 Maven原理

    用户请求————>./(用户目录下的)m2/setting.xml ——————>config/.m2/setting.xml

    maven在IDEA里配置:setting/maven 配置运行的setting.xml和D:Develop softwareapache-tomcat-7.0.52maven-repository下载Jar包目录。

    setting.xml常用里面标签的含义(可以自己配setting)

    1  <localRepository>   jar包下载路径

    2  <pluginGroups>   插件配置的运行

    3  <proxies>      加相应的代理

    4  <servers>        配置登录名密码

    5  <mirrors>      配置镜像下载。分享一个快速的阿里云的配置

    <mirror>  
    
      <id>alimaven</id>  
    
      <name>aliyun maven</name>  
    
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
    
      <mirrorOf>central</mirrorOf>          
    
    </mirror>
    
    <mirror>
    
    <id>ui</id>
    
    <mirrorOf>central</mirrorOf>
    
    <name>Human Readable Name for this Mirror.</name>
    
    <url>http://uk.maven.org/maven2/</url>
    
    </mirror>
    
    <mirror>
    
                <id>osc</id>
    
                <mirrorOf>central</mirrorOf>
    
                <url>http://maven.oschina.net/content/groups/public/</url>
    
            </mirror>
    
            <mirror>
    
                <id>osc_thirdparty</id>
    
                <mirrorOf>thirdparty</mirrorOf>
    
                <url>http://maven.oschina.net/content/repositories/thirdparty/</url>
    
            </mirror>

    仓库加载顺序:

    1、本地配置:$MAVEN_HOME/conf/setting.xml。存储位置:D:javamaven epository

    2、第三方仓库:又称为内部中心仓库,也称为私服,一般由公司建立。

    注意:连接私服,需要单独配置。如果没有配置私服,默认不使用

    3、中央仓库: Maven内置了远程公用仓库:http://repo1.maven.org/maven2

    6     <profiles>       多个环境切换配置

    pom.xml 常用里面标签的含义

    a) pom.xml

    1. groupId   com.gupaoedu  唯一标识
    2. artfactId 功能命名  
    3. version 版本号
    4. packaging  打包方式 默认是jar

    dependencyManagemen

    <properties>    变量(内置)

    dependencyMangement    只出现在主pom,统一版本号,声明和

    dependency        Type 默认jar,

    scope下的子标签

    a) compile  编译   例如spring-core

    b) test 测试

    c) provided编译  例如 servlet

    d) runtime运行时 例如JDBC驱动实现

    e) system 本地一些jar  例如短信jar

    f) 依赖传递

    第一列表示直接依赖的scope,第一行表示间接依赖的scope

    1.6 生命周期

     lifecycle生命周期/phase阶段/goal

    1.clean    里有pre-clean,clean目标,post-clean   

    2 default 常见的有compile,package ,install ,depoly......  

    3 site   里有 pre-site,site,post-site,site-deploy

    1. A Build Lifecycle is Made Up of Phases(构建生命周期由多个阶段组成)
    2. A Build Phase is Made Up of Plugin Goals(构建阶段由插件目标组成)

    如下图所示

  • 相关阅读:
    ApkAnalyser 一键提取安卓应用中可能存在的敏感信息(URLhash等)
    PostgreSQL创建只读权限的用户
    记一次 Centos7 Postgresql v11 数据库备份、还原
    Linux下安装pgadmin,并外部访问
    CentOS7中安装PostgreSQL客户端
    java.io.FileNotFoundException: Too many open files
    centos批量删除文件
    Centos7下Redis缓存清理_FZlion
    解决启动Apache遇到的问题Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:8888
    CentOS 卸载软件
  • 原文地址:https://www.cnblogs.com/Smileing/p/10035613.html
Copyright © 2011-2022 走看看