使用 Maven 构建应用

2018-12-31  本文已影响0人  索伦x

引言

  1. 掌握Maven的网络模型
  2. 学会POM文件的制作
  3. 掌握Maven的常用命令
  4. 了解模块化编程思想

Maven 简介

Apache Maven是一个软件项目管理和综合工具。
基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。

为什么需要使用MAVEN

Maven 安装配置

  1. 下载Apache Maven
    http://maven.apache.org/download.cgi
  2. 解压到指定文件夹,并且设置环境变量
    添加 M2_HOME 和 MAVEN_HOME、PATH
    添加 M2_HOME 和 MAVEN_HOME 环境变量到 Windows 环境变量,并将其指向你的 Maven 文件夹。
  3. 完成,以验证它,执行 mvn –version 在命令提示符下,如下图输出结果

Maven 仓库

中央仓库 = 私服,企业中通常的叫法

Maven 仓库

Settings.xml配置

settings.xml是maven的全局配置文件
Settings.xml中包含类似本地仓储位置、修改远程仓储服务器、认证信息等配置。

<?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>d:\maven\repository</localRepository>
  <mirrors>
   <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror> 
    <servers>   
        <server>
          <id>nexus-snapshots</id>
          <username>deployment</username>
          <password>zdsh123456</password>
        </server>
    </servers>  
  </mirrors>
</settings>

Maven pom文件

<groupId>:组织
<artifactId>:项目/模块名称
<version>:版本号+类型
<packaging>:打包类型,默认是jar,可以配置成war、zip、pom类型。
<properties>:属性值标签,也叫变量标签。
<dependencies> :依赖标签
<distributionManagement> //发布管理
<repository>
<id>nexus-releases</id>
<name>Local Nexus Repository</name>
<url>http://10.105.7.100:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Local Nexus Repository</name>
<url>http://10.105.7.100:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
 <plugins>
 <plugin>
 <groupId>org.apache.maven.plugins </groupId>
 <artifactId>maven-compiler-plugin </artifactId>
 <version>2.1</version>
 <configuration>
 <source>1.8</source>
 <target>1.8</target>
 </configuration>
 </plugin>
 </plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>

模块化编程

    <modules>
        <module>myshopx-web</module>
        <module>myshopx-api</module>
        <module>myshopx-common</module>
    </modules>
    <packaging>pom</packaging>

多环境配置文件切换

    <build>
        <resources>
            <!-- 需要过滤替换的资源 -->
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>JDBC.properties</include>
                </includes>
            </resource>
        </resources>
    </build>

    <profiles>
        <profile>
            <id>dev</id>
            <!-- 默认激活开发配制,使用config-local.properties来替换设置过虑的资源文件中的${key} -->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <filters>
                    <filter>filters/dev.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
            <id>prd</id>
            <build>
                <filters>
                    <filter>filters/prd.properties</filter>
                </filters>
            </build>
        </profile>
    </profiles>

mvn clean package -Pdev --开发环境
mvn clean package -Pprd --投产环境

Maven 常用命令

mvn clean //清理项目
mvn package //打包项目
mvn install //打包并上传到本地仓库
mvn deploy //打包并发布到私服, 同时更新本地仓

上一篇下一篇

猜你喜欢

热点阅读