我的原文:Maven-多环境打包配置
以前公司用的是Ant做编译、打包发布的工具,就这而已,Ant已经做的相当不错了,去年学习了Maven,瞬间有种相逢恨晚的感觉,Maven不止能做编译、打包、发布,而且还能有效的管理项目的依赖。工程使用Maven后,查看源代码和依赖的版本的控制变得简单,这里主要对开发完成后发版本这个问题做一研究和实践。
工作中会有开发环境、测试环境、预发布环境、正式环境,每个阶段发到每个环境,环境不同配置也会有出入,如果手动替换配置文件效率不高,且容易出错,以前用Ant的时候是可以每个环境打不同的包便于发布,我想Maven肯定也有类似的功能,功夫不负有心人,经过网上查找一些资料和动手配置,在我的工程中成功使用了多环境管理打包的配置,废话不多说,上代码。
pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
< 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/maven-v4_0_0.xsd" >
< modelVersion >4.0.0</ modelVersion >
< groupId >cn.jon</ groupId >
< artifactId >inspires</ artifactId >
< packaging >war</ packaging >
< version >0.0.1-SNAPSHOT</ version >
< name >inspires Maven Webapp</ name >
< url >http://maven.apache.org</ url >
< build >
< finalName >inspires</ finalName >
< plugins >
< plugin >
< groupId >org.apache.maven.plugins</ groupId >
< artifactId >maven-war-plugin</ artifactId >
< configuration >
< warName >inspires</ warName >
< archive >
< addMavenDescriptor >false</ addMavenDescriptor >
</ archive >
< webResources >
< resource >
<!-- this is relative to the pom.xml directory -->
<!-- 下面代码很关键 {package.environment} 为profiles里面的配置 -->
< directory >src/main/resources-${package.environment}</ directory >
< targetPath >WEB-INF/classes</ targetPath >
< filtering >true</ filtering >
</ resource >
</ webResources >
</ configuration >
</ plugin >
</ plugins >
</ build >
< profiles >
< profile >
< id >pro</ id >
< properties >
< package.environment >pro</ package.environment > <!-- 正式环境 -->
</ properties >
</ profile >
< profile >
< id >dev</ id >
< properties >
< package.environment >dev</ package.environment > <!-- 开发环境 -->
</ properties >
</ profile >
<!-- 。。。测试环境 等等 -->
</ profiles >
< dependencies >
< dependency >
< groupId >junit</ groupId >
< artifactId >junit</ artifactId >
< version >4.11</ version >
</ dependency >
</ dependencies >
</ project >
|
相关推荐
10. Maven聚合与继承:Maven支持项目间的聚合和继承,聚合允许将多个项目组合在一起作为一个整体进行构建,而继承则允许共享部分POM配置,减少重复代码。 总的来说,这个预配置好的“apache-maven-3.9.2.zip”文件...
首先,`maven-assembly-plugin`允许我们在构建过程中定义多个不同的组装配置(assembly),每个配置可以针对特定的环境。配置文件通常位于项目的`src/main/assembly`目录下,以XML格式编写。例如,我们可以创建一个...
**配置Maven在Window10中的环境变量** 1. **设置JAVA_HOME**: 首先确保已安装JDK,并将`JAVA_HOME`环境变量指向JDK的安装目录,因为Maven需要Java运行环境。 2. **添加Maven到PATH**: 将Apache Maven-3.8.1的`bin`...
Maven通过读取POM.xml配置文件,自动处理构建过程,包括编译、测试、打包、部署等步骤。 "apache-maven-3.9.0-bin.tar" 是Apache Maven 3.9.0版本的Linux二进制发行版,以tar归档格式提供。这个版本包含了运行Maven...
- Maven的profiles允许根据不同的环境或需求配置不同的构建行为,如开发、测试和生产环境的配置差异。 10. **Maven Archetypes** - Maven Archetypes是预定义的项目模板,可以帮助用户快速创建新项目,只需提供...
Maven 3.5.4是Maven的一个稳定版本,包含了多项改进和修复,为开发者提供了一个高效且规范化的开发环境。 在Mac环境下安装和使用`apache-maven-3.5.4-bin.tar.gz`,首先需要下载这个压缩包。下载完成后,使用终端...
在Java开发中,Maven扮演着核心角色,它通过读取项目配置文件pom.xml来管理项目的构建过程,包括编译、测试、打包、部署等生命周期阶段。pom.xml文件包含了项目的详细信息,如项目名称、描述、版本、开发者信息以及...
3. 配置环境变量,包括设置`Maven_HOME`指向解压后的目录,并将`bin`子目录添加到`PATH`环境变量中。 4. 测试安装是否成功,可以通过在命令行输入`mvn -version`查看Maven的版本信息。 Maven的构建生命周期包括清理...
在Maven中,项目的构建过程被定义为一系列的阶段,如编译、测试、打包、集成测试、部署等,这些阶段构成了Maven的生命周期。每个阶段都可以通过特定的插件来执行,例如,`maven-compiler-plugin`用于编译源代码,`...
在Maven的生态系统中,还存在大量的插件,这些插件扩展了Maven的功能,如maven-compiler-plugin用于编译源代码,maven-surefire-plugin用于运行单元测试,maven-jar-plugin用于打包JAR文件等。通过灵活地配置这些...
配置Maven环境变量是使Maven能在系统上正常工作的关键步骤。通常,需要设置两个环境变量: - `M2_HOME`:指向Maven安装目录,即解压后的`apache-maven-3.6.2`目录。 - `PATH`:添加`M2_HOME/bin`到`PATH`环境变量,...
描述中同样提到"apache-maven-3.6.3-bin111.zip",这可能意味着该压缩包包含了Maven的完整安装包,用户可以通过解压并配置环境变量来使用Maven。 标签"maven"进一步确认了我们讨论的是与Maven相关的主题。 在...
配置Maven的`settings.xml`文件是定制化Maven行为的重要环节。这个文件位于`conf`目录下,你可以在这里指定本地仓库的路径,远程仓库的URL,以及全局的依赖管理等信息。例如,如果你有公司内部的Nexus或Artifactory...
四、配置Eclipse的Maven环境 1. Eclipse Oxygen,打开Window->Preferences->Maven->Installations,右侧点击Add。 2. 设置maven的安装目录,然后Finish 3. 选中刚刚添加的maven,并Apply。 4. 打开Window->...
这个版本包含了Maven的核心组件、库和必要的配置文件,允许开发者在本地环境安装并使用Maven进行项目构建。 1. **Maven的架构**:Maven的架构基于中央仓库和POM。中央仓库存储了大量开源项目发布的JAR包,而POM是一...
安装Maven时,需要将`bin`目录添加到系统环境变量PATH中,然后就可以在命令行中使用`mvn`命令。`settings.xml`文件位于用户的Maven配置目录下,可以在这里配置全局属性,如镜像源、仓库位置等。 **7. Maven ...
此外,Maven可以通过聚合项目(aggregation)功能管理多个模块项目,使得大型多模块项目构建变得简单。 总之,`apache-maven-3.6.2-bin.zip` 提供了一个完整的Maven运行环境,让用户可以轻松地进行Java项目的构建和...
在Windows上,你可以将Maven的bin目录添加到系统环境变量PATH中,以便于在任何目录下都能运行Maven命令。在Unix或Linux系统中,同样需要将bin目录路径添加到PATH环境变量。 **2. Maven的目录结构** Maven的默认项目...
- 配置Maven的环境变量,包括`M2_HOME`和`PATH`。 - 编写或修改POM.xml文件,确保所有依赖都正确声明。 - 设置Maven的本地仓库路径,避免重复下载依赖。 - 使用`mvn clean install`命令进行常规构建,`mvn ...