`
kalogen
  • 浏览: 880458 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

maven pom.xml加载不同properties配置

    博客分类:
  • Java
 
阅读更多

1.pom.xml

===========================

<!-- 不同的打包环境配置: test=开发/测试测试环境,  product=生产环境; 命令行方式: mvn clean install -Dmaven.test.skip=true -Ptest 或 -Pproduct-->    

    <profiles>
       <!-- 开发/测试环境,默认激活 -->
       <profile>
           <id>test</id>
           <properties>
              <env>test</env>
           </properties>
           <activation>
              <activeByDefault>true</activeByDefault><!--默认启用的是dev环境配置-->
           </activation>
       </profile>
       <!-- 预发布环境 -->
       <profile>
           <id>preproduction</id>
           <properties>
              <env>preproduction</env>
           </properties>
       </profile>
       <!-- 生产环境 -->
       <profile>
           <id>production</id>
           <properties>
              <env>production</env>
           </properties>
       </profile>
    </profiles>  
 
      <build>
        <filters> <!-- 指定使用的 filter -->
          <filter>src/main/filters/filter-${env}-env.properties</filter>
        </filters>
        <resources>
          <resource> <!-- 配置需要被替换的资源文件路径, db.properties 应该在 src/main/resource 目录下 -->
            <directory>src/main/resources</directory>
            <filtering>true</filtering> <!-- 是否使用过滤器 -->
          </resource>
        </resources>

      </build>

 

2.src/main/filters/下不同环境的配置文件

src/main/filters/filter-preproduction-env.properties

src/main/filters/filter-production-env.properties

src/main/filters/filter-test-env.properties

======filter-test-env.properties 举例

jdbc.url=jdbc:mysql://192.168.120.220:3306/testdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
jdbc.username=testuser
jdbc.password=123456

 

3.src/main/resources下要应用处理的文件

src/main/resources/conf/db.properties

======db.properties

jdbc.datasource=com.mchange.v2.c3p0.ComboPooledDataSource
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=${jdbc.url}
jdbc.username=${jdbc.username}
jdbc.password=${jdbc.password}

jdbc.minPoolSize=10
jdbc.maxPoolSize=50
jdbc.autoCommit=false

 

 

 

 

 

¥¥¥¥¥¥¥¥

 A.pom.xml属性介绍:

                     project: pom的xml根元素。

                     parent:  声明继承。

                     modules:  声明聚合,该值是一个当前POM的相对目录。用户项目的聚合。

                     groupId:  定义当前Maven项目隶属的实际项目。

                     artifactId:  定义实际项目中的一个Maven项目模块,一般为实际项目名称。

                     version:  定义Maven项目当前版本。

                     groupId、artifactId、version三个属性构成项目的坐标,必须全部填写。

                     packaging: 坐标元素之一,可以不填,不填默认jar,表示项目构建成jar包;值为war表示可部署的web项目。

                     name: 名称。

                     description: 项目描述。

                     organization: 所属组织。

                     licenses: 许可证。

                     mailingLists: 邮件列表。  

                     developers: 开发者。

                     contributors: 贡献者。

                     issueManagement: 问题追踪系统。

                     ciManagement: 持续集成系统。

                     scm: 版本控制系统。

                     prerequisites-->maven: 要求maven最低版本,默认值为2.0.

                     build-->sourceDirectory: 主源码目录。

                     build-->scriptSourceDirectory: 脚本源码目录。

                     build-->testSourceDirectory: 测试源码目录。

                     build-->outputDirectory: 主源码输出目录。

                     build-->testOutputDirectory: 测试源码输出目录。

                     build-->resources-->resource:  主资源目录。

                     build-->testResources-->testResource: 测试资源目录。

                     build-->finalName: 输出主构件的名称。

                     build-->directory: 输出目录。

                     build-->filters-->filter: 通过properties文件定义资源过滤属性。

                     build-->extensions-->extension: 扩展Maven的核心。

                     build-->pluginManagement:  插件管理。

                     build-->plugins-->plugin: 插件。

                     profiles-->profile: POM Profile。

                     distributionManagement-->repository: 发布版本部署仓库。

                     distributionManagement-->snapshotRepository: 快照版本部署仓库。

                     distributionManagement-->site: 站点部署。

                     repositories-->repository: 仓库。

                     pluginRepositories-->pluginRepository:  插件仓库。

                     dependencies-->dependency: 依赖管理。

                     properties: Maven属性。

                     reporting-->plugins: 报告插件。

                    a-->b表示a元素嵌套着b元素。

 

         B.settings.xml文件配置。 

                    settings: settings.xml的根元素。

                    localRepository: 本地仓库。

                    interactiveMode: Maven是否与用户交互,默认值为true。

                    offline: 离线模式,默认false。

                    pluginGroups-->pluginGroup: 插件组。

                    servers-->server: 下载与部署仓库的认证信息。

                    mirrors-->mirror: 仓库镜像。

                    proxies-->proxy: 代理。

                    profiles-->profile: Settings Profile。

                    activeProfiles-->activeProfile: 激活Profile。

                    Maven目录下的conf文件夹下的settings.xml为全局的,影响所有用户的配置。一般建议修改c:\Users\用户名\.m2\目录下的settings.xml,属于局部的,只对当前目

         录下的用户有用。

分享到:
评论

相关推荐

    Maven pom.xml与settings.xml详解

    在Maven的世界里,`pom.xml`和`settings.xml`是两个至关重要的配置文件,它们共同决定了Maven项目的构建过程和环境配置。`pom.xml`(Project Object Model)文件是每个Maven项目的核心,它包含了项目的基本信息、...

    maven pom.xml 动态读取变量值插件

    该jar包功能,可以在一个properties文件里面定义jdbc.url=${url},在另一个properties文件定义具体的值,通过该jar可以获取到哪个具体的值。下载之后,自行安装到本地...具体pom.xml配置使用可以参考网络其他博文,谢谢

    MAVEN pom.xml 配置oracle driver jar

    本主题将深入探讨如何在Maven的配置文件`pom.xml`中添加Oracle数据库驱动(jar)以实现与Oracle数据库的连接。首先,我们需要理解`pom.xml`文件的作用,它是Maven项目的元数据文件,包含了项目的信息、构建指令以及...

    Maven_pom.xml常用配置解析

    Maven pom.xml 常用配置解析 Maven 项目对象模型(POM)是 Maven 的核心概念,它是 Maven 项目的描述文件,用于定义项目的坐标、依赖关系、编译、打包、测试、部署等过程。pom.xml 文件是 Maven 项目的核心配置文件...

    Maven-pom.xml.rar_POM_pom.xml

    `pom.xml`是Maven项目对象模型(Project Object Model)的简称,是Maven的核心配置文件,用于定义项目的元数据,如项目信息、依赖关系、构建过程等。 **1. 项目基本配置** - `groupId`: 定义项目的组织或公司的唯一...

    pom.xml常用配置

    Pom.xml是Maven项目的核心配置文件,它定义了项目的结构、依赖关系和构建过程。下面是pom.xml文件中常用的配置项和解释: 1. `&lt;project&gt;`:pom.xml文件的根元素,定义了整个项目的信息。 2. `&lt;modelVersion&gt;`:...

    maven中pom.xml基本配置

    在Java开发领域,Maven是一个不可或缺的项目管理工具,它通过使用一个名为pom.xml的配置文件来管理和构建项目。pom.xml文件是Maven项目的灵魂,它包含了项目的元数据,如项目信息、依赖关系、构建配置等。下面我们将...

    ( maven中整合Spring+hibernate的pom.xml文件的配置.doc )

    ### Maven中整合Spring与Hibernate的Pom.xml配置详解 在Java Web开发中,Spring框架以其强大的功能和灵活性被广泛应用于企业级应用的构建之中。而Hibernate作为一种流行的对象关系映射(ORM)工具,能有效简化...

    Maven settings.xml配置理解

    此文件是Maven运行时的默认配置,可以覆盖`pom.xml`中的部分配置,为用户提供个性化的Maven环境。 1. **本地仓库**:在`settings.xml`中,`localRepository`元素定义了Maven的本地仓库路径,用于存放项目构建过程中...

    pom.xml配置文件讲解

    pom.xml 配置文件是 Maven 构件工程的核心文件,它定义了项目的结构、依赖关系、编译、打包、测试等各种配置信息。Below is a detailed explanation of the knowledge points in the pom.xml configuration file. ...

    超级POM_POM文件总体配置说明.pdf

    POM.xml文件是Maven项目的配置文件,包含了项目的元数据,如项目依赖、构建过程、属性、插件等信息。本文将详细解析POM.xml文件的各个主要元素,帮助开发者理解和掌握其配置要点。 首先,每个POM.xml文件都会声明其...

    一个简单的 pom.xml 示例,它定义了一个基本的 Java 项目

    本文将详细介绍一个基本的`pom.xml`文件,该文件是Maven项目的核心配置文件,它定义了一个简单的Java项目。通过分析这个文件,我们可以更好地理解Maven如何管理和构建Java项目。 #### 2. pom.xml文件结构解析 ####...

    eclipse创建maven项目.doc

    项目创建完成后,Eclipse会自动生成标准的Maven项目结构,包括`src/main/java`(源代码目录)、`src/main/resources`(资源文件目录)、`src/test/java`(测试代码目录)以及`pom.xml`(Maven的配置文件)。`pom.xml...

    maven的pom配置文件

    Maven的pom.xml文件是Maven项目的核心配置文件,它规定了项目的依赖关系、编译环境、测试环境、打包方式等信息。在这个文件中,我们可以看到许多重要的配置项,它们决定了项目的构建、测试和部署过程。下面我们将...

    IDEA+Maven导入新包JDK版本冲突问题

    IDEA+Maven导入新包JDK版本冲突问题解决方案 ...解决 IDEA 和 Maven 中的 JDK 版本冲突问题可以通过在 pom.xml 中指定编译版本来实现。这种方法可以确保项目使用的是正确的 JDK 版本,并避免版本冲突问题。

    最简单的SpringMVC Maven配置.docx

    在这个配置中,我们将关注`web.xml`文件的设置、Maven的父`pom.xml`配置以及项目自身的`pom.xml`依赖。 首先,`web.xml`是部署描述符,用于定义Web应用程序的行为。在这里,我们看到了一个标准的`web-app`元素,...

    Springboot项目正确打jar包maven版pom.rar

    以下将详细介绍如何正确配置Maven的pom.xml文件,实现SpringBoot项目的jar打包。 1. **Maven插件配置**: Maven的`spring-boot-maven-plugin`插件用于打包SpringBoot应用为可执行JAR。在pom.xml文件中,你需要添加...

    maven配置命令及项目部署

    maven的配置文件是pom.xml,包含了项目的基本信息、依赖关系、插件配置等信息。本文将详细介绍maven的配置命令、项目部署、pom.xml文件的结构和元素、maven生命周期和插件等知识点。 maven配置命令 maven提供了...

    基于Maven的javax.mail发送邮件例子程序

    pom.xml添加依赖jar: &lt;groupId&gt;javax.mail &lt;artifactId&gt;mail ${javamail.version} &lt;/dependency&gt; &lt;properties&gt; &lt;javamail.version&gt;1.4.1&lt;/javamail.version&gt; &lt;/properties&gt; /* 功能:加入了参考文章...

Global site tag (gtag.js) - Google Analytics