maven

 1.Install  2.pom.xml  last


1.Install

  1. 解压到指定目录(配置环境变量)
  2. 配置本地仓库(conf/settings.xml .
  3. 切换环境到 jdk-1.8
      <profiles>
        <profile>
            <id>jdk-1.8</>
            <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>
    View Code
  4. maven 常用命令:compile、package、clean、tomcat7:run……
  5. 在 eclipse 中设定 maven

2.pom

创建 maven 工程,修改运行环境:

<!-- 引入插件,修改运行环境 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>
View Code

添加 tomcat 插件(运行 tomcat):

        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <port>8080</port>
                <path>/springmvc11</path>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <type>pom.lastUpdated</type>
        <scope>provided</scope>
    </dependency>
View Code

在 pom 中可以使用变量:

<!-- 定义变量 -->
<properties>
    <spring.version>4.2.4.RELEASE</spring.version>
</properties>

<!-- 依赖 -->
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <!-- 对变量的引用 -->
    <version>${spring.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>${spring.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
</dependency>
View Code

引入依赖时,默认依赖范围是 compile,可以进行必要修改:

<!-- 为测试设置 依赖范围 -->
    <dependency>
        <groupId>org.apache.maven.surefire</groupId>
        <artifactId>surefire-junit4</artifactId>
        <version>2.18.1</version>
        <scope></scope>
        <!-- 依赖范围取值:test、compile、provided、runtime -->
    </dependency>
</dependencies>
View Code
依赖范围
  编译有效 测试有效 运行时有效
compile*  √
runtime  
provided  
test    
  • 依赖传递:项目内部工程之间也会发生依赖。内部依赖多次传递可能会出现依赖冲突(A->N->C1,A->M>C2)。maven 有两条处理原则:长度优先、顺序优先
  • 版本锁定:把子工程的依赖潜入父工程 <dependencyManagement> 标签,在子工程可以略去 坐标的 version 配置。(不略,优先于父

 阿里仓库代理:

<?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
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
  <localRepository>D:
epo
epository</localRepository>
  <pluginGroups>
  </pluginGroups>
  <proxies>
  </proxies>
  <servers>
  </servers>
  <mirrors>  
    <mirror>
      <id>central</id>
      <mirrorOf>central</mirrorOf>
      <name>central</name>
      <url>https://maven.aliyun.com/repository/central</url>
    </mirror>  
    <mirror>
      <id>jcenter</id>
      <mirrorOf>jcenter</mirrorOf>
      <name>jcenter</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>  
    <mirror>
      <id>public</id>
      <mirrorOf>public</mirrorOf>
      <name>public</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>  
    <mirror>
      <id>google</id>
      <mirrorOf>google</mirrorOf>
      <name>google</name>
      <url>https://maven.aliyun.com/repository/google</url>
    </mirror>  
    <mirror>
      <id>gradle-plugin</id>
      <mirrorOf>gradle-plugin</mirrorOf>
      <name>gradle-plugin</name>
      <url>https://maven.aliyun.com/repository/gradle-plugin</url>
    </mirror>  
    <mirror>
      <id>spring</id>
      <mirrorOf>spring</mirrorOf>
      <name>spring</name>
      <url>https://maven.aliyun.com/repository/spring</url>
    </mirror>  
    <mirror>
      <id>spring-plugin</id>
      <mirrorOf>spring-plugin</mirrorOf>
      <name>spring-plugin</name>
      <url>https://maven.aliyun.com/repository/spring-plugin</url>
    </mirror>  
    <mirror>
      <id>grails-core</id>
      <mirrorOf>grails-core</mirrorOf>
      <name>grails-core</name>
      <url>https://maven.aliyun.com/repository/grails-core</url>
    </mirror>  
    <mirror>
      <id>apache snapshots</id>
      <mirrorOf>apache snapshots</mirrorOf>
      <name>apache snapshots</name>
      <url>https://maven.aliyun.com/repository/apache-snapshots</url>
    </mirror>
  </mirrors>

  <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>
View Code

版本更新:

mvn versions:set -DnewVersion=3.2p
View Code

  maven .

一切代码都是为了生活,一切生活都是调剂
原文地址:https://www.cnblogs.com/argor/p/9717897.html