Maven使用

maven的配置文件看似很复杂,其实只需要根据项目的实际背景,设置个别的几个配置项而已。maven有自己的一套默认配置,使用者除非必要,并不需要去修改那些约定内容。这就是所谓的“约定优于配置”

一:maven安装

1.1下载maven压缩包:例如apache-maven-3.3.9-bin.zip

1.2解压apache-maven-3.3.9-bin.zip,并把解压后的文件夹下的apache-maven-3.3.9放到任意目录:例如:F:\Devloper\apache-maven-3.3.9

1.3配置环境变量

新建系统变量   MAVEN_HOME  变量值:F:\Devloper\apache-maven-3.3.9

编辑系统变量  Path添加变量值: ;%MAVEN_HOME%\bin

1.4测试安装是否成功

用win键+R,来打开命令行提示符窗口,即Dos界面,输入mvn --version  若出现以下情况说明配置成功

二:maven常见配置

2.1 eclipse配置maven

1,选择 Window - preferences - maven - installations  点击add ,选择maven解压存放目录,并选择刚刚添加的maven,如下图所示

2,配置settings.xml文件

选择 Window - preferences - maven - user settings ,如下图所示

2.2settings.xml配置

1,设置maven依赖包存放目录:修改<localRepository>标签值,如下图

2,设置私服用户名及密码:修改<server>标签

id与distributionManagement中repository元素的id相匹配,如下图<!-- 配置远程仓库 -->

鉴权用户名和鉴权密码表示服务器认证所需要的登录名和密码

3,配置镜像(mirror则相当于一个代理,它会拦截去指定的远程repository下载构件的请求)

例如:

Maven镜像:http://repo1.maven.org/maven2/

阿里镜像:http://maven.aliyun.com/nexus/content/groups/public

2.3 pom.xml配置

<!--   指定xml文件版本及编码    --->

<?xml version="1.0" encoding="UTF-8"?>

<!--   指定xml命名空间    --->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<!--   指定Maven模型的版本号    --->

<modelVersion>4.0.0</modelVersion>

<!--   设置父工程三要素信息    --->

<parent>

<groupId>cn.chinaclear.pop</groupId>

<artifactId>pop-platform-poms</artifactId>

<version>3.0.2</version>

</parent>

<!--   设置artifactId    --->

<artifactId>pop-investor</artifactId>

<!--   设置packaging打包方式,常见为jar,war,pom等--->

<packaging>pom</packaging>

<!--   设置版本--->

<version>3.0.13-SNAPSHOT</version>

<!--   设置scm插件地址--->

<scm>

<connection>scm:svn:http://10.131.9.127/svn/csdc_web_svn/新一代在线业务平台/源码基线/trunk/pop_v3/pop-investor-new1</connection>

</scm>

<!--   配置远程仓库信息--->

<distributionManagement>

<repository>

<id>nexus-releases</id>

<name>nexus releases snapshot repository</name>

<url>http://10.131.12.9:8181/repository/maven-releases/</url>

</repository>

<snapshotRepository>

<id>nexus-snapshots</id>

<name>nexus distribution snapshot repository</name>

<url>http://10.131.12.9:8181/repository/maven-snapshots/</url>

</snapshotRepository>

</distributionManagement>

<!--   配置依赖--->

<dependencyManagement>

<!--   配置依赖包--->

<dependencies>

<dependency>

<groupId>cn.chinaclear.pop</groupId>

<artifactId>pop-wum-sso-sdk</artifactId>

<version>3.0.12</version>

</dependency>

<dependency>

<groupId>cn.chinaclear.pop</groupId>

<artifactId>pop-common-session</artifactId>

<version>3.0.1</version>

</dependency>

<dependency>

<groupId>cn.chinaclear.pop</groupId>

<artifactId>pop-wum-api</artifactId>

<version>3.0.12</version>

</dependency>

</dependencies>

</dependencyManagement>

<!--   配置包含的子工程--->

<modules>

<module>pop-investor-web-service</module>

<module>pop-investor-api</module>

<module>pop-investor-service</module>

<module>pop-investor-sub-service</module>

</modules>

</project>

三:maven工程自定义打包

1,在pom.xml中配置maven的assembly插件:如下图

<plugins>

<plugin>

<!-- 设置插件artifactId-->

<artifactId>maven-assembly-plugin</artifactId>

<configuration>

<!-- 设置assembly文件路径-->

<descriptor>assembly.xml</descriptor>

</configuration>

<!-- 排除信息-->

<executions>

<execution>

<id>make-assembly</id>

<phase>package</phase>

<goals>

<goal>single </goal>

</goals>

</execution>

</executions>

</plugin>

</plugins>

2,配置assembly.xml文件

<assembly

xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">

<!-- 指定id,主要配置参数化使用-->

<id>${assembly.id}</id>

<!-- 指定打包后生产的文件后缀-->

<formats>

<format>tar.gz</format>

<format>zip</format>

</formats>

<!-- 是否生成和项目名相同的根目录-->

<includeBaseDirectory>true</includeBaseDirectory>

<!-- 设置包含哪些文件夹,并指定包含的文件夹输出到目录-->

<fileSets>

<fileSet>

<directory>src/main/scripts/bin</directory>

<outputDirectory>/bin</outputDirectory>

</fileSet>

<fileSet>

<directory>src/main/scripts/conf</directory>

<outputDirectory>/conf</outputDirectory>

</fileSet>

</fileSets>

<!-- 指定依赖,并设置依赖输出目录-->

<dependencySets>

<dependencySet>

<!--是否把本项目添加到依赖文件夹下-->

<useProjectArtifact>true</useProjectArtifact>

<outputDirectory>lib</outputDirectory>

</dependencySet>

</dependencySets>

</assembly>

3,配置工程打包包含资源文件

三:maven配置参数化

1,配置profiles  profile标签,如下图所示

2,如果有多个环境则配置<profile>标签,并为每个标签指定id,该id为作为环境。

3,如果想要默认使用一个环境,需要<id>标签后增加如下标签,表示默认激活该节点,及默认使用该节点配置进行参数化

<activation>

<activeByDefault>true</activeByDefault>

</activation>

4,*.properties配置文件使用占位符方式设置变量,例如数据库配置文件

${jdbc.url}占位符即为<profile>标签里面的<jdbc.url>标签的值。

四:maven常用命令

清理(删除target目录下编译内容)
mvn clean

编译项目
mvn compile

打包发布
mvn install

打包指定环境
mvn clean install-Pdev

打包上传私服
mvn deploy

打包时跳过测试
mvn package -Dmaven.test.skip=ture

maven安装配置参数化打包命令的更多相关文章

  1. Maven学习第2期---Maven安装配置

    一.Maven介绍 1.1 何为Maven Maven这个词可以翻译为"知识的积累",也可以翻译为"专家"或"内行".Maven是一个跨平台 ...

  2. 转载maven安装,配置,入门

    转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://ww ...

  3. Maven安装配置及其插件m2e(Eclipse Indigo 和 MyEclipse8.5)的安装配置

    Maven安装配置及其插件m2e(Eclipse Indigo 和 MyEclipse8.5)的安装配置   系统:Windows7 使用软件: Maven3.0.3 + Eclipse Indigo ...

  4. Maven安装配置操作

    1)下载maven安装包并解压: 2)环境变量配置: 3)编辑环境变量Path,追加%MAVEN_HOME%\bin; 4)maven安装配置后进行dos命令检查:在cmd中输入 mvn -v 5)配 ...

  5. Webpack安装配置及打包详细过程

    引言 前端经过漫长的发展,涌现出了很多实践方法来处理复杂的工作流程,让开发变得更加简便,其中,模块化可以使复杂的程序细化成为各个小的文件,而webpack并不强制你使用某种模块化方案,而是通过兼容所有 ...

  6. 第一章 Maven 安装配置

    Maven基于(POM)项目对象模型,通过一小段描述信息来管理项目的构建.文档.和报告的项目管理软件,类似于php 的管理构建工具composer. 有关详细的Maven学习,可以参考学习https: ...

  7. Spring Boot入门样例-001-Java和Maven安装配置

    Spring Boot入门样例-001-Java和Maven安装配置 本文说明Java和Maven在windows下的安装和配置 前言 本Spring Boot入门样例准备工作参考: Spring B ...

  8. JeePlus:Maven 安装配置

    ylbtech-JeePlus:Maven 安装配置 1.返回顶部 1. Maven 安装配置 1 Maven 由于Maven依赖Java运行环境,因此使用Maven之前需要配置Java的运行环境.下 ...

  9. (Linux环境Kafka集群安装配置及常用命令

    Linux环境Kafka集群安装配置及常用命令 Kafka 消息队列内部实现原理 Kafka架构 一.下载Kafka安装包 二.Kafka安装包的解压 三.设置环境变量 四.配置kafka文件 4.1 ...

随机推荐

  1. Linux kernel parameter command line设置

    现在CPU2核以上比较普遍了,平时用linux上上网可能用不着双核甚至4核,大部分发行版内核都启用了CPU_HOTPLUG,到/sys/devices/system/cpu下可以看到文件夹cpu0.c ...

  2. CDialog与CDialogEx的区别联系

    CDialogEx是VS2003之后出现的,VC++6.0没有.CDialogEx = CDialog ExtendExtend的意思是扩展,即扩展的CDialog! 这个类是CDialog的扩展类, ...

  3. UESTC 1511(差分约束)

    题目链接:http://acm.uestc.edu.cn/problem.php?pid=1511 思路:我们可以等到这样的5个关系式: k=1:dsit[a]-dist[b]>=0&& ...

  4. Struts2_day01--Struts2的核心配置文件_常量配置_分模块开发_Action编写方式

    Struts2的核心配置文件 1 名称和位置固定的 2 在配置文件中主要三个标签 package.action.result,标签里面的属性 标签package 1 类似于代码包,区别不同的actio ...

  5. shell脚本学习总结02--数组

    bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...

  6. sessionStorage与localStorage

    客户端存储数据的两个对象为: localStorage和sessionStorage一样都是用来存储客户端临时信息的对象. 他们均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目 ...

  7. 【BZOJ4318】OSU! 期望DP

    [BZOJ4318]OSU! Description osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1 ...

  8. iOS 引导页面启动一次

    #import "AppDelegate.h" @implementation AppDelegate - (BOOL)application:(UIApplication *)a ...

  9. Android 代码规范 code style

    /* * 文件名(可选),如 CodingRuler.java * * 版本信息(可选),如:@version 1.0.0 * * 版权申明(开源代码一般都需要添加),如:Copyright (C) ...

  10. 用wamp实现前端和php的交互效果

    我们今天来用php来做一下前台与后台的交互效果,首先我们先打开这个软件. 看一下电脑右下角的小图标 当变成之后鼠标左键 打开这个之后点击第二个之后会打开一个网站 点击右面页面的数据库打开新建数据库,填 ...