`
liyixing1
  • 浏览: 961581 次
  • 性别: Icon_minigender_1
  • 来自: 江西上饶
社区版块
存档分类
最新评论

Profile

阅读更多


Profile是可以在指定环境通过指定指令或者自动触发,用来替换POM中的一些插件配置或者其他配合。

<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>org.sonatype.mavenbook</groupId>
  <artifactId>simple</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>simple</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <profiles>#
    <profile>
      <id>production</id>#
      <build>#
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <debug>false</debug>#
              <optimize>true</optimize>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>



如上情况,
通过命令
mvn clean install -Pproduction -X
来把id=production的profile激活。该方式是通过命令激活,也可以通过环境识别

<project>
  ...
  <profiles>
    <profile>
      <id>dev</id>
      <activation>
        <activeByDefault>false</activeByDefault>#
        <jdk>1.5</jdk>#
        <os>
          <name>Windows XP</name>#
          <family>Windows</family>
          <arch>x86</arch>
          <version>5.1.2600</version>
        </os>
        <property>
          <name>mavenVersion</name>#
          <value>2.0.5</value>
        </property>
        <file>
          <exists>file2.properties</exists>#
          <missing>file1.properties</missing>
        </file>
      </activation>
      ...
    </profile>
  </profiles>
</project>


如上,配置了自动激活条件activation
JDK是1.5,X86,系统WINDOWS XP等等条件才能自动触发。


属性判断激活
<project>
  ...
  <profiles>
    <profile>
      <id>development</id>
      <activation>
        <property>
          <name>!environment.type</name>
        </property>
      </activation>
    </profile>
  </profiles>
</project>



改定义environment.type不存在触发。
外部Profile

外部Profile

如果你开始大量使用Maven profile,你会希望将profile从POM中分离,使用一个单独 的文件如profiles.xml。你可以混合使用定义在pom.xml中和外部profiles.xml文件中 的profile。


Settings Profile
比如为每个Maven构建添加一个需要访 问的内部仓库。你可以使用一个settings profile做这件事情。

<settings>
  <profiles>
    <profile>
      <id>dev</id>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
           <execution>
              <goals>
                 <goal>sign</goal>
              </goals>
           </execution>
        </executions>
        <configuration>
           <keystore>/home/tobrien/java/keystore</keystore>
           <alias>tobrien</alias>
           <storepass>s3cr3tp@ssw0rd</storepass>
           <signedjar>
         /usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/content-zh/target/signed/book.jar
           </signedjar>
           <verify>true</verify>
        </configuration>
      </plugin>
    </profile>
  </profiles>
</settings>



建议,profile的使用,应该建立在优先考虑移植性,如果你的profile配置后,会造成环境迁移更加麻烦,那么该profile就显得多余了
分享到:
评论

相关推荐

    power delay profile.rar_Power delay profile_delay

    在无线通信领域,"Power Delay Profile"(功率延迟剖面)是分析信号传播特性的重要概念。这个主题主要涉及信号在传播过程中的能量分布以及不同路径到达接收器的时间差。通过模拟"power delay profile",我们可以深入...

    Windows用户目录迁移工具 Profile Relocator

    Profile Relocator是一款针对Windows XP、Vista、7和8系统设计的实用工具,它能够安全地移动用户的个人配置文件(Profile)到一个新的位置,而不会破坏系统的正常运行。在进行迁移过程中,该工具会确保所有相关的...

    使用Photoshop编辑数码打样的ICC Profile

    ICC(International Color Consortium)Profile,即国际色彩联盟配置文件,是色彩管理的核心,它用于确保不同设备间颜色的一致性和准确性。在数码打样过程中,正确使用ICC Profile至关重要,因为它能够保证从显示器...

    lotus domino 表单文档相关--profile知识

    在Lotus Domino中,表单(Forms)是构建数据库结构和数据输入界面的基础,而Profile则是用来存储系统配置和特定信息的一种特殊类型的文档。本文将深入探讨Lotus Domino中的Profile知识,包括其创建、访问和操作。 ...

    BLE MES官方协议 mesh profile和mesh model

    **BLE MESH协议详解:Mesh Profile与Mesh Model** 蓝牙低功耗(Bluetooth Low Energy, BLE)Mesh协议是一种无线通信技术,特别适用于物联网(IoT)设备间的多对多通信。它允许大量的设备在同一个网络中互相通信,...

    SpringBoot中的Profile配置的使用示例源码

    在Spring Boot中,Profile配置是一项强大的特性,它允许我们在不同的环境下使用不同的配置,例如开发、测试和生产环境。本文将深入探讨Spring Boot中Profile的使用,并通过源码示例进行详细解析。 首先,理解...

    oracle用户下.bash_profile文件修改

    安装Oracle之后,需要为oracle用户配置环境变量,这些环境变量存储在用户的.bash_profile文件中。.bash_profile文件位于用户的主目录下,用于设置环境变量和启动程序。本文档即为在安装Oracle时,对oracle用户下的....

    蓝牙BLE电池服务profile中文版本

    蓝牙BLE电池服务profile中文版本是蓝牙技术在低功耗(BLE)环境中管理设备电池状态的一种标准规范。这个规范主要关注如何公开和管理设备内部电池的信息,以便其他蓝牙设备可以获取和监控电池的状态。 电池服务规范...

    profile\bashrc\bash_profile之间的区别和联系

    在Linux系统中,环境变量和命令的设置是通过配置文件来完成的,这些配置文件包括`/etc/profile`, `/etc/bashrc`, `~/.bash_profile`以及`~/.bashrc`。理解它们的区别和联系对于优化用户环境和个性化设置非常重要。 ...

    Windows下Neor Profile SQL 配置监控centos(linux)mysql详细步骤

    ### Windows下Neor Profile SQL 配置监控CentOS(Linux)MySQL详细步骤 #### 一、概述 在现代企业环境中,对于数据库性能的监控尤为重要。Neor Profile SQL 是一款强大的数据库性能分析工具,可以帮助开发人员和...

    Linux中profile、bashrc、bash_profile之间的区别和联系

    .profile(由Bourne Shell和Korn Shell使用)和.login(由C Shell使用)两个文件是.bash_profile的同义词,目的是为了兼容其它Shell。在Debian中使用.profile文件代 替.bash_profile文件。 2..bashrc文件会在bash shell...

    Profile Prism 用IT8卡和扫描仪制作打印机ICC的软件

    使用Profile Prism生成打印机配置文件的简单步骤 由于扫描仪及扫描软件,打印机及打印软件的品牌众多,设置也相互不同。建议在阅读完下面简单步骤后,继续了解后面的详细说明。 1.运行打印软件(能识别色彩配置文件...

    was managerprofile语法

    【标题】:WebSphere Application Server (WAS) Manager Profile语法详解 在WebSphere Application Server (WAS)中,Manager Profile是一种特殊类型的服务器配置,它扮演着管理其他服务器配置的角色。Manager ...

    T_prof_FLUENT进口温度profile_

    标题 "T_prof_FLUENT进口温度profile_" 指向的是一个使用用户定义函数(UDF)在FLUENT软件中设置进口边界条件,特别是针对温度分布的设定。FLUENT是一款广泛使用的计算流体动力学(CFD)软件,能够模拟各种流体流动和热...

    H264解析SPS获取分辨率,profile,level

    本文将深入探讨如何使用C语言解析H264的SPS(Sequence Parameter Set)信息,以获取视频的分辨率、profile和level等关键参数。 SPS是H264编码流中的一个重要组成部分,它包含了关于整个序列的全局信息,如图像尺寸...

    C++6.0中profile的配置使用

    ### C++6.0中Profile的配置与使用详解 #### 一、Profile菜单灰色问题解决方法 在使用Visual C++ 6.0时,我们可能会遇到Profile菜单处于灰色不可用的状态,这通常是因为某些设置没有正确配置导致的。解决这个问题的...

    Lenovo Low Profile USB Keyboard

    标题“Lenovo Low Profile USB Keyboard”涉及的是联想的一款低剖面USB键盘,这款键盘设计紧凑,适合节省桌面空间,同时保持高效的操作体验。在描述中提到的“打开文件后,勾选按将F1-F12设置为标准快捷键,之后即可...

    蓝牙BLE血压计Profile

    蓝牙BLE血压计Profile是一个专门针对血压测量设备的蓝牙技术规范,允许血压监测设备与智能手机、平板电脑或其他计算设备通过蓝牙低功耗(BLE)技术进行无线通信。这个Profile由蓝牙特别利益集团(Bluetooth SIG)的...

    中国电信物联网开放平台设备描述文件profile模板

    设备描述文件(通常称为Profile)在这个平台上扮演着至关重要的角色,它定义了设备的特性、功能以及如何与平台进行交互。让我们深入探讨一下这个主题。 1. **设备描述文件(Profile)**: 设备描述文件是物联网...

    pt-ioprofile

    《pt-ioprofile:Percona Toolkit中的性能分析利器》 pt-ioprofile是Percona Toolkit中的一个重要组件,专为MySQL数据库系统设计,用于深入洞察系统的输入/输出性能。这款工具的强大之处在于它能够帮助数据库管理员...

Global site tag (gtag.js) - Google Analytics