• Maven学习(二)


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

    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

    在这里插入图片描述
    ②:配置以后新建工程的设置,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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    compiletestprovided
    对主程序是否有效
    对测试程序是否有效
    是否参与打包
    是否参与部署

    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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    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 >
  • 相关阅读:
    机器学习实战:Python基于LASSO回归进行正则化(十二)
    最简单的Makefile编译DPDK应用
    win11,无法修改文件的只读属性,解决办法
    试给出二叉树从下至上,从右至左的遍历算法
    卫星位姿的相关概念
    微服务统一认证方案
    图解大模型微调系列之:大模型低秩适配器LoRA(原理篇)
    23种设计模式之备忘录模式(Memento Pattern)
    【刷题小结】多路归并类型
    vue父组件多次调用同一个echarts组件,只渲染一个echarts组件的问题
  • 原文地址:https://blog.csdn.net/weixin_49883619/article/details/126674529