使用maven属性变量和配置文件

mvn archetype:generate

 1 <profiles>
 2         <profile>
 3             <!-- 本地环境 -->
 4             <id>local</id>
 5             <properties>
 6                 <db-url>jdbc:oracle:thin:@localhost:1521:XE</db-url>
 7                 <db-username>***</db-username>
 8                 <db-password>***</db-password>
 9             </properties>
10         </profile>
11         <profile>
12             <!-- 开发环境 -->
13             <id>dev</id>
14             <properties>
15                 <db-url>jdbc:oracle:thin:@172.21.129.51:1521:orcl</db-url>
16                 <db-username>***</db-username>
17                 <db-password>***</db-password>
18             </properties>
19             <!-- 默认激活本环境 -->
20             <activation>
21                 <activeByDefault>true</activeByDefault>
22             </activation>
23         </profile>
24         ...
25     </profiles>

profiles节点中,定义了二种环境:local、dev(默认激活dev环境),可以在各自的环境中添加需要的property值,接下来修改build节点,参考下面的示例:

 1 <build>
 2         <resources>
 3             <resource>
 4                 <directory>src/main/resources</directory>
 5                 <filtering>true</filtering>
 6             </resource>
 7         </resources>
 8         <plugins>
 9             <plugin>
10                 <groupId>org.apache.maven.plugins</groupId>
11                 <artifactId>maven-compiler-plugin</artifactId>
12                 <version>2.5.1</version>
13                 <configuration>
14                     <source>1.6</source>
15                     <target>1.6</target>
16                     <encoding>utf-8</encoding>
17                 </configuration>
18             </plugin>
19         </plugins>
20     </build>

resource节点是关键,它表明了哪个目录下的配置文件(不管是xml配置文件,还是properties属性文件),需要根据profile环境来替换属性值。

通常配置文件放在resources目录下,build时该目录下的文件都自动会copy到class目录下

例:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url" value="${db-url}" />
        <property name="username" value="${db-username}" />
        <property name="password" value="${db-password}" />
    </bean>
</beans>

各属性节点的值,用占位符"${属性名}"占位,maven在package时,会根据profile的环境自动替换这些占位符为实际属性值。

默认情况下:

maven package

将采用默认激活的profile环境来打包,也可以手动指定环境,比如:

maven package -P dev

将自动打包成dev环境的部署包(注:参数P为大写)

时间: 2024-12-17 17:10:24

使用maven属性变量和配置文件的相关文章

maven的变量属性

maven定义了很多变量属性,比较常见的maven属性,如下所示:${basedir} 项目根目录${project.build.directory} target目录${project.name} 项目名${project.version} 项目版本号${project.build.finalName} 打包的名字请参考这里 http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide maven的变量属性

20_Shell语言———VIM编辑器基础知识三之窗口属性定制、配置文件及查找替换功能

Vim编辑器可以让用户按照需求来定制一些使用属性. 一.窗口属性定义 1)显示行号 行号不是内容,只是用来帮助用户确认文本所在的行.在vim编辑器中,如果要显示行号,可以在末行模式下输入: set number 如果想关闭,则可以在功能名称前面加上no,即: set nonumber 命令可以被简写,如set number 可以简写为 set nu:set nonumber 可以简写为 set nonu. 注意,上述设定仅对当前vim的进程有效,一旦当前进程关闭,这些设定就会失效,如果要使设定永

【Java_SSM】(一)maven环境变量的配置

这篇博文我们介绍一下配置一下maven环境变量的配置. 准备工作 在eclipse配置maven之前需要我们做好准备工作,如下: 1. 安装jdk 2. 已下载好 maven,将maven配置成功 ,下载地址:http://maven.apache.org/download.cgi#(切记:下载与jdk相对应maven版本),如下图: 3. 下载Eclipse,解压缩安装完成,建立工作空间. 配置Maven环境变量 计算机--属性--高级系统设置--环境变量 新建M2_HOME Path中添加%

Maven属性(properties)标签的使用

引用官方的说明https://maven.apache.org/pom.html#Properties: Properties 属性是了解POM基础知识的最后一个要素.Maven属性是值占位符,如Ant中的属性.它们的值可以通过使用符号${X}在POM中的任何位置访问,其中X是属性. 他们有五种不同的风格: 1.env.X:使用“env”来定义变量.将返回shell的环境变量.例如,${env.PATH}包含PATH环境变量. 注意:虽然环境变量本身在Windows上不区分大小写,但查找属性区分

MAC安装配置maven环境变量

1.下载maven包: 下载链接:??http://maven.apache.org/download.cgi maven下载文件释义: 1?? Binary tar.gz archive:是装在Linux.MacOsX上的. 2?? Binary zip archive:是装在windows上的.   3?? binary表示编译后的二进制文件,一般比较小,适合直接在项目中使用, 4?? source表示可以查看源代码的,比binary大一些,如果你想看一下maven的源码可以下载这一类的 .

Maven 环境变量设置

Windows 7 操作系统安装完Maven后, 我们还需要再配置下Maven的系统环境变量,以使Maven命令能够被系统识别, 具体做法如下: 步骤: 下载Maven 官方下载地址:http://maven.apache.org/download.html 选择你所希望下载的版本,并保存到常用安装目录.这里以Maven 3.2.2 (Binary zip)为例(二进制文件可直接使用). 解压maven到软件安装常用目录如: D:\Softwares\apache-maven-3.2.2 打开系

Maven属性

1. 内置属性 ${basedir}表示项目的根目录,既包含pom.xml的文件目录 ${version} 表示项目版本 2. POM属性 用户使用以project.开头的属性引用pom.xml中对应元素的值 常用POM属性:默认值在超级pom.xml中定义,超级pom.xml位置:maven-model-builder-x.x.x.jar/org/apache/maven/model/ ${project.build.sourceDirectory}  项目的主源码目录,默认为src/main

Maven环境变量配置和在Eclipse中的配置

1.Maven环境变量配置 M2_HOME :变量值为maven的安装目录 在path后添加%M2_HOME%\bin; 检查JDK,maven配置的cmd命令 echo %JAVA_HOME% java_version echo %M2_HOME% mvn -v mvn help:system 该命令会打印出所有的Java系统属性和环境变量 2.Maven在Eclipse中的配置 1).配置外部引入的Maven Windows -> Preferences -> Maven ->Ins

Maven的pom.xml配置文件详解

1 Maven的pom.xml配置文件详解 2 Maven简述 3 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 4 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具.由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目.由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长