maven安装配置参数化打包命令
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
最新文章
- SpringBoot list查询方法
- loadrunner处理HTTP重定向请求
- python一套完整的事务操作
- Gradle用户指南(2)-基本命令
- SpinLock 自旋锁, CAS操作(Compare &; Set) ABA Problem
- 7zip 命令行
- hdu 2955 Robberies
- .net,sessionState的Session共享问题解决方案
- gulp自动化框架的搭建
- 利用MutationObserver对页面元素的改变进行监听
- SmartBusinessDevFramework架构设计-3:考虑开源?
- Salesforce Lightning开发学习(一)Hello World开发实践
- jsp页面错误
- STL 的 vector 根据元素的值来删除元素的方法
- js页面滚动时层智能浮动定位实现
- Unity之MVC 模式
- Chrome中使用老的标题栏界面
- linux系统安装 dig和nslookup命令
- OPENSSL 生成https 客户端证书
- vue构造器以及实例属性