- 浏览: 29772 次
- 性别:
- 来自: 北京
最新评论
文章列表
为了解决程序可移植性的问题,Maven 2.0 开始引入了 profile 的概念。
那什么是程序的可移植性问题呢?简单来说就是在一个地方构建和运行是成功的,但是在另一个地方构建或运行却失败了,这样的程序就出了可移植性问题。在基于 Maven 的 java 工程中,我们经常遇到的可移植性问题主要有如下几种:
插件可能会被配置一些本地路径
比如 maven-protoc-plugin 这个插件需要配置一个 protocExecutable 属性来指定编译 proto 文件所用的 protoc 编译器路径,这是一个本地路径,而且不同机器上的路径有可能是不一致的。
一些 ...
Maven Profiles 使用
- 博客分类:
- Maven
本文是译文,原文链接 http://maven.apache.org/guides/introduction/introduction-to-profiles.html
Introduction to Build Profiles
Apache Maven 2.0 竭尽全力去保证构建是可移植的,这意味着允许构建配置在 POM 文件中,从而避免所有的文件系统引用。Maven 倾向于更重地依赖本地仓库来存储构建所需的元信息。
然而有时候可移植性不是完全可能的,比如下面这些情况:
插件可能会被配置一些本地路径;
一些依赖版本的变更也是不可避免的;
工程的 artifa ...
目标
通过 Maven 的 filters 机制对不同环境(开发、预发布、生产)应用不同的配置信息
步骤
1. 首先需要配置 profile 信息,在不同的 profile 中指定变量 “env”为不同的值
<profiles>
<!-- 开发/测试环境,默认激活 -->
<profile>
<id>debug</id>
<properties>
<env>debug</env>
...