• maven之三大特性属性、profile、资源过滤


    内置属性

    ${basedir} 表示项目根目录,即pom.xml文件所在的目录
    ${version} 表示项目的版本

    POM属性

    ${project.build.sourceDirectory} :项目的主源码目录,默认为 src/main/java
    ${project.build.testSourceDirectory} :项目的测试源码目录,默认为 src/test/java
    ${project.build.directory} :项目构建输出目录,默认为 target/
    ${project.outputDirectory} :项目主代码编译输出目录,默认为 target/classes
    ${project.testOutputDirector} :项目测试代码编译输出目录,默认为 target/test-classes/
    ${project.groupId} :项目的 groupId
    ${project.artifactId} :项目的artifactId
    ${project.version} :项目的 version ,与 ({version} 等价 `){project.build.finalName} :项目打包输出文件的名称,默认为({project.artifactId}-){project.version}`

    自定义属性[properties]

     <properties>
    	<key>value</key>
     </properties>
    

    其他属性

    Setting属性 读取setting.xml文件值 ${setting.localRepository}
    java系统属性 读取java系统属性值${user.home}; mvn help:system查看属性
    环境变量属性 读取环境变量的属性值 ${env.JAVA_HOME} ; mvn help:system 查看所有环境变量属性

    profile

    • conf/setting.xml 配置全局profile
    • .m2/setting.xml 配置当前用户profile
    • pom.xml 配置项目profile
    <profiles>
      	<profile>
      		<id>dev</id>
      		<properties>
      			<db.password>admin123</db.password>
      		</properties>
      	</profile>
    </profiles>
    <activeProfiles>
        <activeProfile>profileId</activeProfile>
    </activeProfiles>
    

    过滤

    /src/main/resources/config.properties
    
    db.password=${db.password}
    
    
    <profiles>
      	<profile>
      		<id>dev</id>
      		<properties>
      			<db.password>admin123</db.password>
      		</properties>
      	</profile>
      </profiles>
      
      <build>
    	<resources>
    		<resource>
    			<directory>${project.basedir}/src/main/resources</directory>
    			<filtering>true</filtering> <!-- 过滤后才能将配置资源文件中的配置修改掉 -->
    		</resource>
    	</resources>
      </build>
    
    mvn clean package -Pdev //成功替换
    
    • 可以定义参数配置替换所有的js、css文件

    如果觉得文章对您有用,请点下推荐。您的支持将鼓励我继续创作!

  • 相关阅读:
    JSONObject对象和JSONArray对象的使用
    toString和getString的区别
    Pytorch 实验中非常有效的代码段
    TeXworks 高效使用指南
    linux 设置新用户
    ICML-21 待读的 Paper
    2019年12月19日记戴老师的讲座
    matplotlib 调整图片的 font size
    IJCAI 投稿 Type-3 字体
    matplotlib 中 figsize 和 dpi 之间的关系
  • 原文地址:https://www.cnblogs.com/pengsn/p/13567123.html
Copyright © 2020-2023  润新知