Maven学习(二)

视频链接:https://www.bilibili.com/video/BV1dp4y1Q7Hf?vd_source=9545770e4a2968c05878ffac8589ec6c
视频选集:P19

文章目录

  • 1. IDEA中设置maven
  • 2. Maven在IDEA中的应用
    • 2.1 IDEA集成Maven
    • 2.2 IDEA创建Maven版java工程
    • 2.3 IDEA创建Maven版web工程
    • 2.4 IDEA中导入Maven工程(module)
  • 3.依赖管理——依赖范围
  • 4. Maven常用操作
    • 4.1 属性设置
    • 4.2 全局设置
    • 4.3 资源插件

1. IDEA中设置maven

idea中内置了maven ,一般不使用内置的,因为用内置修改maven的设置不方便。
使用自己安装的maven,需要覆盖idea中的默认的设置。idea指定maven安装位置等信息

配置的入口
①:配置当前工程的设置,file–settings —Build,Excution ,Deployment–Build rools
–Maven
Maven Home direatory : maven的安装目录
User settings rile ︰就是maven安装目录conf/setting.xml配置文件
Local Repository :本机仓库的目录位置

–Build Tools–Maven–Runner
VM Options : -DarchetypeCatalog = internal【 maven项目创建时,会联网下载模版文件,比较大,使用这个指令,不用下载,创建maven项目速度快】
JRE:你项目的jdk

Maven学习(二)_第1张图片
②:配置以后新建工程的设置,file–other settings --Settings for New Project
其余步骤同上

2. Maven在IDEA中的应用

2.1 IDEA集成Maven

2.2 IDEA创建Maven版java工程

maven-archetype-quickstart :普通的java项目

2.3 IDEA创建Maven版web工程

maven-archetype-webapp: web工程

2.4 IDEA中导入Maven工程(module)

3.依赖管理——依赖范围

依赖范围,使用scope【表示依赖使用的范围,也就是在maven构建项目的那些阶段中起作用】表示的
scope的值有compile, test, provided ,默认是compile
maven构建项目编译,测试,打包,安装,部署过程(阶段)

junit的依赖范围是test
<dependency>
	<groupId>junit</ groupId>
	<artifactId>junit</ artifactId>
	<version>4.11</version>
	<scope>test</ scope>
</dependency>
compile test provided
对主程序是否有效
对测试程序是否有效
是否参与打包
是否参与部署

4. Maven常用操作

4.1 属性设置

< properties >设置maven的常用属性

<properties>
	<!--maven构建项目使用编码,避免中文乱码-->
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<!--编译代码使用的jdk版本-->
	<maven.compiler.source>1.8</maven.compiler.source>
	<!--运行程序使用的jdk版本->
	<maven.compiler.target>1.8</maven.compiler.target>
</properties>

4.2 全局设置

自定义的属性

  1. 在< properties >通过自定义标签声明变量(标签名就是变量名)
  2. 在pom.xml文件中的其它位置,使用${标签名}使用变量的值

自定义全局变量一般是定义依赖的版本号,当你的项目中要使用多个相同的版本号,先使用全局变量定义,再使用${变量名}

4.3 资源插件

<build>
	<resources>
	<resource>
	<directory>src/main/java</directory><!--所在的目录-->
	<includes!--包括目录下的.properties ,.xml文件都会扫描到-->
	<include>**/*.properties
	**/*.xml</include>
	<includes>
	<!--filtering 选项false不启用过滤器,*.property已经起到过滤的作用了-->
	<filtering>false</filtering>
	</resource>
	</resources>
</build>
  1. 默认没有使用resources的时候, maven执行编译代码时,会把src/main/resources目录中的文件拷贝到target/classes目录中。对于src/main/java目录下的非java文件不处理,不拷贝到target/classes目录中
  2. 我们的程序有需要把一些文件放在src/main/java目录中,当我在执行java程序时,需要用到src/main/java目录中的文件.
    需要告诉maven 在 mvn compile src/main/java目录下的程序时,需要把文件一同拷贝到target/classes目录中。
    此时就需要在< build >中加入< resources >

你可能感兴趣的:(Maven,maven,学习,intellij-idea)