IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Maven简介及IDEA使用 -> 正文阅读

[Java知识库]Maven简介及IDEA使用

一、.Maven简介

Maven:一个项目管理工具

工具作用:

(1)构架项目(规范:包结构)

(2)管理Jar包

(3)测试,部署上线? ? ? ??

二、Maven的安装

1、下载

下载地址:Maven – Welcome to Apache Maven

image-20210922142308539

要求:Maven3.6以上的版本,必须JDK1.7 + 磁盘:具有500M以上的空间

下载解压即可

?2、环境变量配置

环境变量名:M2_HOME

环境变量值:E:\apache-maven-3.6.0-bin\apache-maven-3.6.0?

Path=%M2_HOME%\bin(;)win7需要添加;,而win10不需要添加?

3、检查是否安装成功

在dos窗口中输入 mvn -v,出现以下界面表示成功

image-20210922143205006

4、settings.xml配置

4.1配置本地仓库

<localRepository>e://repo</localRepository>

image-20210922144405293

4.2配置加速器

阿里镜像

<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>https://maven.aliyun.com/repository/central</url>
</mirror>

image-20210922144911301

?三、Maven的结构目录及生命周期

1、?Maven目录结构

src
   |-main
        |-java //存放java的核心代码
        |-resources //存放java的核心配置文件
   |-test
        |-java //存放Java测试的核心代码
        |-resources //存放测试java代码的核心配置文件
target //存放编译文件以及未来的打包文件
pom.xml //描述maven项目的组成模型

?2、 Maven的生命周期

step1:将main/java文件复制到target中

step2:将main/resources文件编译到target中

step3:将test/java文件复制到target中

step4:将test/resources文件编译到target中

step5:使用Junit框架完成所有单元的测试

step6:压缩打包(java--jar包;web--war包)

step7:将项目打包好的包添加到本地仓库中供其它项目使用

四、IDEA集成Maven

4.1、打开settings设置界面

image-20210922153612356

image-20210922153931721


4.2、创建Maven项目

根据Maven工具,创建Java项目

image-20210922154122842

image-20210922154419577

image-20210922154455664

?4.3 pom.xml描述

<?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">
  <modelVersion>4.0.0</modelVersion>

  <!--自己的坐标-->
  <groupId>com.woniuxy</groupId>
  <artifactId>springstudy</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>
   <!--如果是web项目,jar换成war-->

  <name>springstudy</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <!--pom.xml 中的一些默认全局变量-->
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <!--依赖-->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <!--Maven工具跟生命周期有关的相关插件-->
  <build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.7.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

?五、Maven的基础命令

1、dos命令窗口中使用

mvn clean:清理target目录、编译文件、包

mvn complie:编译代码

mvn test:测试代码

mvn package:压缩打包

mvn stall:压缩打包并安装到本地仓库

2、idea中使用

image-20210922161952515

六、 Maven依赖范围

依赖:是指依赖的jar包

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <!--该依赖的作用范围:
      test 代码测试期间是有效的,但是不参与到打包的范围
      compile 表示该Jar包,编译期间需要,运行期间是有效的,需要参与到打包的范围 (默认)
      provided 表示该Jar包,编译期间需要,但是运行期间是不需要
      runtime 表示该Jar包,编译期间不需要,但是期间是有效的,需要参与到打包的范围
      system 表示该Jar包,不是来自于 本地仓库,而来自:你固定的地址
      -->
      <scope>test</scope>
    </dependency>

?七、依赖传递

Maven具有一个作用:将某一个Jar相关的所有的依赖,都自动下载到本地仓库

image-20210922163501817

但是依赖传递中,也可以使用就近原则

image-20210922163744114

?

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-10 10:55:44  更:2021-12-10 10:57:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:35:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码