zoukankan      html  css  js  c++  java
  • Maven


    Maven是一个基于项目对象模型(POM)的概念的纯java开发的开源的项目管理工具。能分块开发,提高开发效率。主要用来管理java项目,进行依赖管理(jar包管理,能自动分析项目所需的依赖软件包,并到Maven仓库区下载)和项目构建(项目打包和部署).

    Web部署的过程:清理—>编译——>构建—>打包—>部署
     

    为什么要使用Maven
         1)管理jar包,帮助下载导入jar包和依赖包,解决冲突
         2)使用Maven创建的项目,可以直接导入到其他开发工具中(用Eclipse开发的项目在IDEA能直接部署)


    Maven的安装
         1、下载maven 的地址:http://maven.apache.org/download.cgi
         2、 解压,然后配置环境变量。

               右键“计算机”,选择“属性”,之后点击“高级系统设置”,点击“环境变量”,来设置环境变量,有以下系统变量需要配置:

               新建系统变量   MAVEN_HOME  变量值:E:Mavenapache-maven-3.3.9

               编辑系统变量  Path         添加变量值: ;%MAVEN_HOME%in

         3、验证配置是否成功,打开cmd,输入:mvn -version

    修改Maven配置文件(settings.xml)
    1.localRepository:设置本地仓库:
    <localRepository>C:software epository</localRepository>

    2.pluginGroups:插件组合
    3.proxies:代理
    4.servers服务器(其中username和password是私服的用户名和密码)
    <server>
    <id>user-releases</id>
    <username>admin</username>
    <password>123456</password>
    </server>
    <server>
    <id>user-snapshots</id>
    <username>admin</username>
    <password>123456</password>
    </server>
    5.mirrors:镜像路径
    <!-- 阿里镜像 -->
    <mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
    </mirror>
    6.profiles:服务器配置
    <!--服务器的配置-->
    <profile>
    <id>nexusProfile</id>
    <repositories>
    <repository>
    <id>nexus</id>
    <name>nexus</name>
    <url>http://localhost:8081/nexus/content/groups/public/</url>
    <releases>
    <enabled>true</enabled>
    </releases>
    <snapshots>
    <enabled>true</enabled>
    </snapshots>
    </repository>
    </repositories>
    <pluginRepositories>
    <!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
    <pluginRepository>
    <!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->
    <id>public</id>
    <name>Public Repositories</name>
    <url>http://localhost:8081/nexus/content/groups/public/</url>
    </pluginRepository>
    </pluginRepositories>
    </profile>
    <!-- java编译插件,配jdk的编译版本-->
    <profile>
    <id>jdk-1.8</id>
    <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
    </activation>
    <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
    </profile>
    7.activeProfiles:激活私服
    <activeProfiles>
    <activeProfile>nexusProfile</activeProfile>
    </activeProfiles>

    导入jar包的过程

     

    Maven存储jar的仓库(3种仓库)说明
         1.本地仓库:存储在本地磁盘,默认在c盘/用户名/.m2/xx
         通过settings.xml 更改本地仓库localRepository     注意:可在C盘m2下复制settings.xml 和repository同级
         2.远程仓库:一般都使用国内镜像或者公司自己搭建私服. 一般用Nexus
         私服存在的意义:开发者电脑更新,本地仓库就有jar。目前常用的就是阿里镜像
         如何搭建私服:https://www.cnblogs.com/bingyeh/p/5913486.html
         3.Maven(中央)仓库:Maven团队维护的jar包仓库 http://repo1.maven.org/maven2/
         一般用这个查POM:http://mvnrepository.com/
         检索顺序:先检索本地仓库--再检索远程仓库--最后检索中央仓库

    Maven管理项目周期

          1. Clean:项目构建前的清理操作
          2. Default: 核心生命周期核心过程:编译,运行,打包等等
          3. Site:发布站点,生成报告等等

    pom.xml默认内容介绍:
          打包方式 :项目类型
          POM:MAVEN项目,常用在继承和聚合上
          JAR:JAVASE项目,没有网页,跟服务器没关系
          WAR:JAVAEE项目,跟服务器有关-->
          <packaging>war</packaging>

    Maven工程添加依赖
    推荐网站:http://mvnrepository.com/
    示例:
    <dependencies>
    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
    <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.2.10.Final</version>
    </dependency>
    </dependencies>
    添加到项目的pom文件内容说明(切换pom.xml到Dependencies目录下):
    type:类型
    取值说明:
    jar:jar包
    Scope:声明jar包的存活时间
    取值说明:
    1、provided:编译和测试时需要
    2、compile:编译、测试、运行、打包需要
    3、runtime:测试、运行、打包需要
    4、:测试test
    5、system:编译和测试时需要,显示引用,Maven不会检索

    我话讲完!谁赞成?谁反对?
  • 相关阅读:
    第3章 HBase完全分布式集群搭建
    第2章 大数据处理架构Hadoop(二)
    第2章 大数据处理架构Hadoop (一)
    SQL 优化
    EXCEL快捷键 输入第一格的公式,计算这列剩下的单元格
    IDEA快捷键,IDEA2021激活码
    IDEA激活码高质量的,IDEA2021一次破解激活永久版
    shardingsphere 分库分表解决方案
    网络编程(笔记四)
    网络编程(笔记三)
  • 原文地址:https://www.cnblogs.com/wffzk/p/13143267.html
Copyright © 2011-2022 走看看