• Maven 教程(19)— Maven的六类属性


    原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79776666

    内置属性

    主要有两个常用内置属性:${basedir}项目的根目录(包含pom.xml文件的目录),${version}项目版本

    POM属性

    用户可以使用该属性引用POM文件中对应元素的值,常用的POM属性包括:

    ${project.build.sourceDirectory}:项目的主源码目录,默认为 src/main/java

    ${project.build.testSourceDirectory}:项目的测试源码目录,默认为 src/test/java

    ${project.build.directory}:项目构件输出目录,默认为 target/

    ${project.outputDirectory}:项目主代码编译输出目录,默认为 target/classes/

    ${project.testOutputDirectory}:项目测试代码编译输出目录,默认为 target/test-classes/

    ${project.groupId}:项目的 groupId    

    ${project.artifactId}:项目的 artifactId  

    ${project.version}:项目的 version,与${version}等价

    ${project.build.fianlName}:项目打包输出文件的名称。默认为${project.artifactId}-${project.version}

    自定义属性

    用户可以在POM的<properties>元素下自定义Maven属性

    Settings属性

    用户使用settings.开头的属性引用 settings.xml 文件中XML元素的值

    Java系统属性

    所有Java系统属性都可以使用Maven属性引用

    环境变量属性

    所有环境变量都可以使用以env.开头的Maven属性引用


    在依赖中 使用pom变量

    <dependencies>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>part-a</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>part-b</artifactId>
            <version>${project-version}</version>
        </dependency>
    </dependencies>

    在插件中使用pom变量

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.5</version>
        <configuration>
            <repositoryDirectory>${project.build.directory}/test-reports</repositoryDirectory>
        </configuration>
    </plugin>

    自定义变量

    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <db.driver>com.mysql.jdbc.Driver</db.driver>
                <db.url>jdbc:mysql://localhost:3360/test</db.url>
                <db.username>username</db.username>
                <db.password>password></db.password>
            </properties>
        </profile>
    </profiles>

    Maven属性默认只有在POM中才会被解析,因此需要让Maven解析资源文件中的Maven属性。Maven用maven-resources-plugin处理资源文件。它默认的行为只是将项目主资源文件复制到主代码编译输出目录中,将测试资源文件复制到测试代码编译输出目录中。Maven默认的主资源目录和测试资源目录的定义是在超级POM中,要为资源目录开启过滤,只要在此基础上添加一行filtering配置即可。Filtering是maven resource插件的功能,作用是用环境变量,pom文件里定义的属性和指定文件里的属性替换属性文件的占位符。(超级pom在 apache-maven-3.3.9libmaven-model-builder-3.3.9.jarorgapachemavenmodelpom-4.0.0.xml)

  • 相关阅读:
    黄聪: PHP WkHtmlToPdf/WkHtmlToImage 将网页直接转换成pdf和图片
    黄聪:PHP页面跳转如何实现延时跳转
    黄聪:wkhtmltopdf解决分页问题
    黄聪:wkhtmtopdf--高分辨率HTML转PDF
    黄聪:Wordpress二级域名共享用户cookie出现错误解决方案及WP的Cookie机制
    黄聪:wordpress向一个页面POST数据,出现404页面访问不了
    黄聪:PHP解决textarea内容换行存入数据库,如何解析取出不能自动换行
    黄聪:PHP7.0中htmlspecialchars出错解决方案(wordpress)
    黄聪:WordPress: 使用 wp_insert_attachment 上传附件
    黄聪: 50 个 Bootstrap 插件
  • 原文地址:https://www.cnblogs.com/dyh004/p/11579892.html
Copyright © 2020-2023  润新知