• Maven学习(一)概念简述和安装教程


    刚开始由.net转向java,公司的项目中就开始使用maven,感觉他就像nuget一样,但是他又比nuget要强大(毕竟他是项目管理工具)。

    maven概述

    在这里,就不背书包了,怎么简单直接怎么来。

    maven主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。

    1.1、项目构建过程

      项目构建过程包括: 清理项目->编译项目->测试项目->生成测试报告->打包项目->部署项目,这六个步骤就是一个项目的完整构建过程。

    使用maven就可以完成上述所说的项目构建过程。

    1.2、依赖管理

      java依赖指的是jar包之间的相互依赖,比如我们使用一个Struts2的开发框架时,仅有struts2-core-*.jar这个jar包是不行的,这个jar包还依赖其它的jar包。

    依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是“自动下载项目所需要的jar包,并统一管理jar包之间的依赖关系”。

    1.3、使用Maven的好处

      1、Maven中使用约定,目录都有明确的约定,约定优于配置,用户在项目间切换就省去了学习成本,约定我们的java源代码代码必须放在哪个目录下,而编译好的java代码又必须放到哪个目录下等。

      2、Maven的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

        3、只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情(比如能够帮我们自动下载写在pom.xml中的jar)

      4、使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。

    maven下载与目录描述

    下载地址

    官方的下载地址:http://maven.apache.org/download.cgi

    或者 https://pan.baidu.com/s/1nuAOtXf

    目录描述

    maven安装

    1、首先确保电脑上已经安装了JDK(要jdk 1.6以上的版本),配置好JDK的环境变量,使用命令查看是否已且配置好的:

    java -version

    2.设置系统环境变量:MAVEN_HOME

    3.设置环境变量Path,将%MAVEN_HOME%in加入Path的最后(非win10的注意前面需要加英文半角分号)

    %MAVEN_HOME%in代表的就是"C:Javaapache-maven-3.1.1in"目录

    4.验证

    这个就代表成功了。

    Maven的简单使用

    maven有严格的目录约定

    如何手动创建呢?

    我们在  javaProject 目录下新建一个 maven_1 文件夹,作为我们的maven项目根目录,

    参照上述的目录结构,我们在 D:javaProjectmaven_1srcmainjava 写一个HelloWorld.java文件,内容:

    public class HelloWorld{
        public static void main(String args[]){
            System.out.println("Hello World");
        }
    }

    在项目根文件下,新建名为 pom.xml的pom文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
    http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <!--所有的Maven项目都必须配置这四个配置项-->
        <modelVersion>4.0.0</modelVersion>
        <!--groupId指的是项目名的项目组,默认就是包名-->
        <groupId>lsk.maven.helloworld</groupId>
        <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
        <artifactId>hello-desc</artifactId>
        <!--version指的是版本,这里使用的是Maven的快照版本-->
        <version>SNAPSHOT-0.0.1</version>
    </project>

        1、pom全称:project object model。

        2、pom.xml包含了项目构建的信息,包括项目的信息、项目的依赖等。

        3、pom.xml文件是可以继承的,大型项目中,子模块的pom.xml一般都会继承于父模块的pom.xml

      pom.xml文件的节点元素说明:

        <project>      pom文件的顶级节点
        <modelVersion>   object model版本,对Maven2和Maven3来说,只能是4.0.0 
        <groupId>      项目创建组织的标识符,一般是域名的倒写
        <artifactId>     定义了项目在所属组织的标识符下的唯一标识,一个组织下可以有多个项目
        <version>       当前项目的版本,SNAPSHOT,表示是快照版本,在开发中

        <packaging>     打包的方式,有jar、war、ear等
        <name>       项目的名称
        <url>         项目的地址

        <properties>   属性配置,比如:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <dependencies>  构建项目依赖的jar

      其中由groupId、artifactId和version唯一的确定了一个项目坐标

    使用Maven编译HelloWorld.java,首先进入到项目根目录,然后使用命令”mvn compile”进行编译,如下图所示:

    编译时会下载需要的jar包

    编译成功:

     

    项目根目录下出现一个target目录,存放的就是源码对应的.class文件。

    如果编译后出现 build success , No sources to compile

    这个时候,要仔细检查maven项目的源码路径是不是 “根目录srcmainjava ”下,是否缺少某些层。

     执行完"mvn clean"命令后,target文件夹就会被删除了。

    修改从Maven中心仓库下载到本地的jar包的默认存储位置

    从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home}表示当前登录系统的用户目录(如"C:UsersEric"),如下图

    其中的jar包,都是从maven远程中心仓库下载下来的。

    如果要修改repository的默认位置,例如想把它放在d盘的repository下,则需要修改maven的配置文件,

    找到apache-maven-3.1.1conf目录下的settings.xml文件,如下图所示:

     

    我们加入一句:

    <localRepository>D:/repository</localRepository>

    把jar包下载到本地的好处就是:当编译时,会优先从本地的jar包去找。如果本地存在,就直接拿来用;如果不存在,就从Maven的中心仓库去下载。

    仅当对一个项目第一次执行"mvn compile"命令时,Maven会去中央仓库下载需要的jar包,而对这个项目第二次执行这两个命令时,由于所需的jar包已经在本地的仓库中存储,所以就可以直接拿来用了,这样就省去了去中央仓库下载jar包的时间。

  • 相关阅读:
    ASP.NET连接数据库配置文件
    ASP.NET应用程序的文件类型及文件夹列表
    c#配置文件的简单操作
    js加载XML文件
    c#生成动态库并加载
    class和id的区别
    Div和Span的区别
    C#类和对象
    C#表达式和语句
    函数声明提升和变量提升
  • 原文地址:https://www.cnblogs.com/ericli-ericli/p/6852066.html
Copyright © 2020-2023  润新知