maven介绍和环境配置(pom/settings文件)

1.maven概念介绍:

maven是一款项目管理工具,可以帮助我们自动构建项目(也叫项目构建:编译、测试、打包、部署、运行的操作),可以帮助我们统一管理依赖(也叫依赖管理),可以统一项目结构。

2.maven的基本概念:

 

本地仓库:本质就是自己电脑上的一个文件夹,里面存储了我们平时自己使用的jar包

私服仓库:是远程仓库的一种,是在公司局域网内的一个仓库,局域网内的所有用户共享。

中央仓库:是远程仓库的一种,有maven团队维护,服务器在国外,访问很慢。

        maven优先访问本地仓库,如果本地仓库有jar包,直接获取。如果本地仓库没有,并且没有配置私服仓库,那么直接从中央仓库获取jar包。如果配置了私服仓库,那么就会去私服仓库获取,如果私服仓库没有就去中央仓库获取。只要访问了中央仓库,jar包都会从中央仓库自动下载到私服仓库或者本地仓库,方便下一次使用。
本地仓库-------->私服仓库--------->中央仓库

2.在maven的settings.xml中配置全局jdk1.8插件(在profiles标签配置)

 <profile>
  <!-- 定义的编译器插件 ID,全局唯一 -->
  <id>jdk-1.8</id>
  <!-- 插件标记,activeByDefault 默认编译器,jdk提供编译器版本 -->
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
  </activation>
  <!-- 配置信息 source-源信息,target-字节码信息,compilerVersion-编译过程版本 -->
  <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>
    <maven.compiler.encoding>utf-8</maven.compiler.encoding>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
</profile>

3.版本依赖:

当不需要版本依赖的某个组件时可以用exclusion标签进行排除:

有时候jar包在不同的编译阶段有着不同的需求,比如:servlet-api包在部署到环境时,是不需要这个包的,我们可以加上scope标签为provided,进行在打包的时候进行排除。

 4.maven中的继承(在子工程中声明其父工程坐标与对应的位置 )

<!--定义该工程的父工程-->
<parent>
    <groupId>com.fuyang</groupId>
    <artifactId>monntor</artifactId>
    <version>2.0-SNAPSHOT</version>
</parent>

在父工程中使用dependencyManagement标签锁定依赖的版本

<!--声明此处进行依赖管理-->
<dependencyManagement>
    <!--具体的依赖-->
    <dependencies>
        <!--spring环境-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.1.9.RELEASE</version>
        </dependency>
    <dependencies>
<dependencyManagement> 

在子工程中定义依赖关系,无需声明依赖版本,版本参照父工程中依赖的版本

<dependencies>
    <!--spring环境-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
    </dependency>
</dependencies>

5.定义属性标签properties(同于定义变量,方便统一维护 )

<!--定义自定义属性-->
<properties>
  <spring.version>5.1.9.RELEASE</spring.version>
  <mybatis.spring.version>2.0.3</mybatis.spring.version>
  <druid.version>1.1.21</druid.version>
  <mysql.version>5.1.47</mysql.version>
</properties>

对应的版本依赖的版本就可以用变量的方式获取了。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
</dependency>

6.资源配置多文件维护,可以在properties标签中定义配置文件的变量(比如jdbc的配置信息)

【第一步】在任意配置文件中加载pom文件中定义的属性(properties标签)

<test.url>jdbc:mysql://localhost:3306/ssm_db</test.url>
  • 【第二步】在properties属性文件中调用格式

${jdbc.url} 
  • 【第三步】开启配置文件加载pom属性(在build标签里面)

<!--配置资源文件对应的信息-->
<resources>
  <resource>
    <!--设定配置文件对应的位置目录,支持使用属性动态设定路径-->
    <directory>${project.basedir}/src/main/resources</directory>
    <!--开启对配置文件的资源加载过滤-->
    <filtering>true</filtering>
  </resource>
</resources>

 7.在maven的settings.xml中配置多环境

<!--配置多环境-->
<profiles>
  <!--开发环境-->
  <profile>
    <!--定义环境唯一id-->
    <id>dev</id>
    <!--定义该环境使用的属性-->
    <properties>
      <test.url>jdbc:mysql://localhost:3306/ssm_dev</test.url>
    </properties>
    <!--默认激活-->
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
  </profile>

  <!--测试环境-->
  <profile>
    <!--定义环境唯一id-->
    <id>test</id>
    <!--定义该环境使用的属性-->
    <properties>
      <test.url>jdbc:mysql://localhost:3306/ssm_test</test.url>
    </properties>
    <!--默认激活同dev-->
  </profile>

  <!--生产环境-->
  <profile>
    <!--定义环境唯一id-->
    <id>pro</id>
    <!--定义该环境使用的属性-->
    <properties>
      <test.url>jdbc:mysql://localhost:3306/ssm_pro</test.url>
    </properties>
    <!--默认激活同dev-->
  </profile>
</profiles>

配置后启动或者打包的时候就可以勾选不同的环境了

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值