zoukankan      html  css  js  c++  java
  • Java技术学习笔记:Maven安装和作用

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

      本文将从以下三个方面写起:

      1、Maven的作用

      2、Maven的安装配置

      3、IDEA配置Maven

    QQ截图20181031143508

      1、Maven的作用,为什么要使用Maven

      (1)创建项目,自动关联和下载依赖的jar包。

      (2)升级框架的版本。升级某个框架的版本,但却不知道与它相关联的哪几个jar也需要跟着升级,和升级到哪个版本。

      (3)自动部署。用Maven只需一个命令,就可以把项目自动部署到远程服务器上。

      (4)项目编译打包导出。这个随意一个IDE都能做到,所以如果要Maven做这件事,可能的场景,就是做没有装IDE的环境里,比如在服务器端Linux环境下。

      2、Maven的安装配置

      1、下载maven 的地址:http://maven.apache.org/download.cgi

      2、解压,然后再“我的电脑”--右键--“属性”--“高级系统设置”--“环境变量”中添加如下信息:

      a、新增变量MAVEN_HOME的值为Maven的安装文件夹

      b、在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>wangwujuan</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>

      Maven仓库说明

      存储jar的仓库(3种仓库)

      1.本地仓库:存储在本地磁盘,默认在系统盘c盘 用户名/.m2/xx

      通过settings.xml 更改本地仓库localRepository

      2.远程仓库:一般都使用国内镜像或者公司自己搭建私服. 一般用Nexus

      目的:加快下载速度

      3.Maven(中央)仓库:Maven团队维护的jar包仓库 http://repo1.maven.org/maven2/

      一般用这个查POM:http://mvnrepository.com/

      检索顺序:先检索本地仓库--再检索远程仓库--最后检索中央仓库

      Maven管理项目周期

      1. Clean:项目构建前的清理操作

      2. Default: 核心生命周期核心过程:编译,运行,打包等等

      3. Site:发布站点,生成报告等等,

      3、IDEA配置Maven

      IDEA内部集成了Maven,也可以配置成自己安装的Maven

      File ----> Settings ----> 找到Maven,配置Maven home directory

    图片2

      创建Maven项目

      File ----> New ----> Project ----> Maven

      勾选Create from archetype

      选择maven-archetype-webapp

      点击Next

    图片3

      输入GroupId、ArtifactId点击Next

    图片4

      选择Maven的版本

    图片5

      输入项目名称和目录,点击Finish

    图片6

      创建项目后,点击Import Changes按钮,会下载需要的jar包和插件

    图片7

      Maven项目说明

      src/main/java:存放项目的.java文件

      src/main/resources:存放项目资源文件。如何Spring,Hibernate配置文件

      src/test/java:存放所有测试的.java文件.如Junit测试类

      pom.xml(maven项目核心配置文件)

      pom.xml默认内容介绍:

      <!-- maven中model的版本号 -->

      <modelVersion>4.0.0</modelVersion>

      <!-- 公司名称或组织名称或者个人名称 -->

      <groupId>com.sky</groupId>

      <!--项目名称 -->

      <artifactId>FirstMaven</artifactId>

      <!-- 版本号 -->

      <version>1.0</version>

      <!-- 打包方式 :项目类型

      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不会检索

     
     
     
  • 相关阅读:
    Func<T, TResult> 委托的由来和调用和好处(为了高大上,为了白富美)
    $(function(){})和jQuery(function(){})
    把一个类(或者Object)转换成字典
    MVC 控制器向View传值的三种方法
    @html.ActionLink的几种参数格式
    你给老板谈工资,老板给你谈发展.之后发生的事...
    2015-11-5 关于编译的听课笔记
    2015-10-29 韦东山OK6410 第一天课程笔记
    2015-10-26 逻辑运算符使用分析
    2015-10-26 一些位运算符 课程笔记
  • 原文地址:https://www.cnblogs.com/coffees/p/12336315.html
Copyright © 2011-2022 走看看