maven以及idea使用maven

一、maven概述

1、背景

一般项目开发中,我们开发的代码需要依赖一些额外的库。而解决这些依赖,我们都需要手动从网上下载相应的jar包,然后添加到项目中的 lib 目录下作为第三方库存在。而当依赖很多的时候,这种方式是非常低效的。

2、maven的作用

maven核心功能就是合理叙述项目间的依赖关系。通俗的说就是通过在pomxml文件指定依赖的项目,然后maven会自动下载对应的依赖,然后添加到项目中,无需手动解决。

3、maven的仓库概念

? maven仓库分为本地仓库、第三方仓库(内部私有仓库)、中央仓库(网上共用仓库)。
? 项目本身会先在本地仓库查找依赖,如果找不到就会到中央仓库下载到本地,然后使用。

4、maven java项目的结构

使用maven创建java项目时,目录结构会有所不同,目录结构如下:

project_name
    --pom.xml                   该项目的依赖配置文件
    --src
        --main
            --java              java源码目录
            --resources         资源目录,包括图片,配置文件等
        --test
            --java              测试java源码目录
            --resources         测试资源目录
    --target                    编译文件输出目录

5、pom.xml的依赖关系

前面已经说到pom.xml用于配置项目的依赖。那么里面是如果描述依赖的呢,比如如何唯一确定依赖(也可以说是坐标)等。

如何获取坐标
一个依赖的坐标有3个基本必须的关键字(还有不少其他关键字),分别是groupId、artifactId、version。配置一个依赖的基本格式如下:

<dependencies>   所有依赖都包含在这里面
    <dependency>
        <groupId>xxx</groupId>       一般为包名
        <artifactId>xxx</artifactId>  一般为项目名
        <version>xxx</version>        所需要的jar的版本,因为一个项目可能有多个版本
    </dependency>
</dependencies>

一般来说,到中央仓库中找相应的表以及项目,就可以找到完整的坐标。

更为详细的讲解,请见:https://www.cnblogs.com/whgk/p/7112560.html

二、maven本身配置

maven的配置文件主要是 conf/settings.xml,配置内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

 <!--指定本地仓库路径-->
<localRepository>F:\java_maven_repo</localRepository>

  <pluginGroups>

  </pluginGroups>

  <proxies>

  </proxies>

  <!-- servers
   | This is a list of authentication profiles, keyed by the server-id used within the system.
   | Authentication profiles can be used whenever maven must make a connection to a remote server.
   |-->
  <servers>

  </servers>

  <!-- 默认中央仓库下载太慢,这里配置使用阿里云的仓库 -->
  <mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

    <!--配置jdk版本的仓库-->
    <profiles>
        <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>
    </profiles>
</settings>

三、配置IDEA使用maven

1、配置IDEA使用我们刚才配置的maven

File--setting--搜索maven ---点击Maven -- 设置Maven Home Directory 为我们的上面设置的maven的目录,同时修改User settings file为我们上面配置的 settings.xml.

注意:每次新建项目必须重新配置这里,否则会默认还原。

2、配置maven系统环境变量

增加M2_HOME环境变量:
在系统环境变量中添加 M2_HOME=F:\apache-maven-3.3.9。然后保存即可。

将maven的bin目录添加到 Path环境变量中:
%M2_HOME%\bin

3、配置maven中的依赖

在IDEA中创建maven工程,然后创建完后,点击pom.xml进行添加依赖。

4、maven中子模块的使用

通常一个项目中,会有多个子项目,或者子模块的存在。一般情况下,会先创建总的maven项目,然后在idea中可以通过右键添加模块的方式来添加子模块,并且在添加了子模块之后,会在父项目中自动生成子模块的信息,如:

会在父maven项目中的pom.xml中生成modules标签

<modules>
        <module>ct_producer</module>
        <module>ct_consumer</module>
        <module>ct_analysis</module>
</modules>
这表示有三个子模块,名字是 ct_producer、ct_consumer、ct_analysis

然后每个子模块都有自己的pom.xml。在父项目的pom.xml中,写入的依赖,是可以被所有子模块使用的,但是子模块中自己定义的依赖只能自己使用。
一般来说,我们会在父项目中引入所有子项目都需要的依赖,然后在子项目中引入自己的依赖。

另外一种使用方式是:
在父项目中声明但不引入依赖,使用以下方式:

<dependencyManagement>
        <dependencies>

            这里是具体依赖
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>${scala.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

当子模块中想要使用这个依赖,需要再次声明,但是不再次指定依赖的版本。

<dependencies>
        <dependency>
            <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
        </dependency>
</dependencies>

使用这种方式,能够在父项目层次就指定依赖以及对应的版本,可以规范整个项目公共依赖的版本,防止由于依赖不一致导致的问题

原文地址:https://blog.51cto.com/kinglab/2442319

时间: 2024-10-06 09:18:15

maven以及idea使用maven的相关文章

maven 学习1 -安装maven 并执行编译命令

一.maven 下载与安装(安装好jdk的前提下) 1.下载地址:http://maven.apache.org/download.cgi  (选择最新的zip版本),下载完毕后解压 2.安装:系统path变量后面加maven的bin路径,也可配置MAVEN_HOME系统变量(%MAVEN_HOME%\bin)来操作 3.运行cmd命令来查看安装情况 mvn-v 二.手动新建一个maven项目,使用maven编译 (maven项目关键就在与pom.xml文件) 1.建立项目目录,新建一个文件夹(

maven安装和创建maven工程

maven是一个项目管理工具,整个项目依赖的jar文件和依赖其他模块的jar都是由maven管理和维护.他还可以帮助我们发布项目(编译,打包,测试...). 下载和安装maven,配置maven的环境 1.0 下载  进入maven官网 点击download  找到最新二进制发布包 下载下来 下载完毕后,解压文件文件目录如下 bin 目录 :保存maven的可执行命令 conf:  保存 maven的配置文件settings.xml lib :maveny运行时依赖的类库 settings文件中

maven 学习---部署基于Maven的war文件到Tomcat

在本教程中,我们将学习如何使用Maven的Tomcat插件打包并部署一个WAR文件到Tomcat(Tomcat的6和7. 要用到工具: Maven 3 Tomcat 6.0.37 Tomcat 7.0.53 Tomcat 7发布URL = http://localhost:8080/manager/text命令 = mvn tomcat7:deploy Tomcat 6发布 URL = http://localhost:8080/manager/命令 = mvn tomcat6:deploy 1

[Maven]Eclipse插件之Maven配置及问题解析.

前言:今天在自己环境装了Maven环境, 并且安装了Eclipse插件, 在查找插件过程中确实遇到一些问题, 好不容易找到一个  却又有问题.装好了插件之后, 用Eclipse创建Maven项目却出现两个问题, 在这里总结一些, 方便其他朋友更好的解决问题. 一, Maven环境的安装在这里就不做过多的赘述, 首先大家 需要去Maven官网下载 Maven包, 然后配置Maven环境.Maven环境变量配置: http://jingyan.baidu.com/article/cb5d61050b

maven系列之二maven项目的创建和maven项目的结构

maven系列之一简单介绍了maven的基本信息,安装和配置,大家对maven有一个大概的了解,但是在maven项目开发中远远不够,为了进一步了解maven,现在我们介绍maven项目的创建和maven项目的结构. 第一部分:maven项目的创建 maven项目创建方式一:用命令 开始键+r=,确定,检测maven的版本 输入mvn -v   输入mvn archetype:generate  ,执行这个命令有点久,要有耐心,他会检测setting.xml,不符合条件就会报错.同时也会根据set

Maven学习总结(一)——Maven入门——转载

一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1.1.项目构建 项目构建过程包括[清理项目]→[编译项目]→[测试项目]→[生成测试报告]→[打包项目]→[部署项目]这几个步骤,这六个步骤就是一个项目的完整构建过程. 理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就可以帮我们完成上述所说的项目构建过程. 1.2.依赖管理 依赖指的是j

Maven 系列 二 :Maven 常用命令,手动创建第一个 Maven 项目

1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开 pom.xml 文件,添加如下内容: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

Maven 系列 二 :Maven 常用命令,手动创建第一个 Maven 项目【转】

1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开 pom.xml 文件,添加如下内容: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

Maven 系列 一 :Maven 快速入门及简单使用【转】

开发环境 MyEclipse 2014 JDK 1.8 Maven 3.2.1 1.什么是Maven? Maven是一个项目管理工具,主要用于项目构建,依赖管理,项目信息管理. 2.下载及安装 下载最新版 Maven:apache-maven-3.2.1-bin.zip.官网下载:http://maven.apache.org/download.cgi. 解压文件: 配置环境变量(需要先配置好%JAVA_HOME%环境变量): 查看是否配置成功: 其他配置:settings.xml(后面讲到)

Maven 系列 一 : Maven 快速入门及简单使用

开发环境 MyEclipse 2014 JDK 1.8 Maven 3.2.1 1.什么是Maven? Maven是一个项目管理工具,主要用于项目构建,依赖管理,项目信息管理. 2.下载及安装 下载最新版 Maven:apache-maven-3.2.1-bin.zip.官网下载:http://maven.apache.org/download.cgi. 解压文件: 配置环境变量(需要先配置好%JAVA_HOME%环境变量): 查看是否配置成功: 其他配置:settings.xml(后面讲到)