日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Maven属性(properties)标签的使用

發布時間:2023/12/10 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven属性(properties)标签的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在命令行使用屬性時,是-D,比如:mvn -Dinput=test

引用官方的說明https://maven.apache.org/pom.html#Properties:

Properties

屬性是了解POM基礎知識的最后一個要素。Maven屬性是值占位符,如Ant中的屬性。它們的值可以通過使用符號${X}在POM中的任何位置訪問,其中X是屬性。

他們有五種不同的風格:

1、env.X:使用“env”來定義變量。將返回shell的環境變量。例如,${env.PATH}包含PATH環境變量。

注意:雖然環境變量本身在Windows上不區分大小寫,但查找屬性區分大小寫。換句話說,雖然Windows shell為%PATH%%Path%返回相同的值,但Maven區分${env.PATH}${env.Path}。對于Maven 2.1.0,為了可靠性,環境變量的名稱被歸一化為所有大寫

2、project.x:POM中的點(.)記號路徑將包含相應元素的值。例如:可以通過${project.version}訪問<project><version>1.0</version></project>

3、settings.xsettings.xml中的點(.)標注路徑將包含相應的元素的值。例如:<settings><offline>false</offline></ settings>可通過${settings.offline}訪問。

4、Java系統屬性:可通過java.lang.System.getProperties()訪問的所有屬性都可用作POM屬性,如${java.home}

5、x:在POM中的<properties />元素中設置。<properties><someVar>value</someVar></properties>的值可以用作${someVar}

?

而在第2點中訪問pom.xml文件的屬性時,其實還有一些內置的變量,如下:

${project.basedir}:這引用了module/project的根文件夾(當前pom.xml文件所在的位置),還可以簡化的寫法:${basedir}

以上更多用法參考:http://maven.apache.org/ref/3.5.0/maven-model-builder/#Model_Interpolation

${project.build.directory}:這表示默認的target文件夾。

${project.build.outputDirectory}:默認情況下表示target/classes文件夾。

${project.build.testOutputDirectory}:這表示默認的target/test-classes文件夾。

${project.build.sourceDirectory}:這表示默認情況下src/main/java文件夾。

${project.build.testSourceDirectory}:這表示默認情況下src/test/java文件夾。

${project.build.finalName}:默認情況下定義為${project.artifactId}-${project.version}

${project.version}:這可以在必須編寫文字版本的位置使用,否則,特別是如果您在多模塊構建模塊間依賴關系。

以上更多用法參考:http://maven.apache.org/pom.html#The_Super_POM

${settings.localRepository}:它引用了本地存儲庫的位置。這是默認的${home}/.m2/repository

以上更多用法參考:http://maven.apache.org/pom.html#Properties

以上參考:https://cwiki.apache.org/confluence/display/MAVEN/Maven+Properties+Guide

?

而針對第5點時應該是項目上最多使用的,比如以下為項目實踐的簡單pom.xml:

<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.jsoft.test</groupId><artifactId>test-maven</artifactId><version>1.0-SNAPSHOT</version><profiles></profiles><properties><test.uuid>123</test.uuid><jdbc.driverClassName>com.mysql.jdbc.Driver</jdbc.driverClassName><jdbc.url>jdbc:mysql://localhost/stock?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true</jdbc.url><jdbc.username>root</jdbc.username><jdbc.password>123456</jdbc.password><jdbc.validationQuery>SELECT 1 + 1</jdbc.validationQuery></properties><build><resources><resource><filtering>true</filtering><directory>${project.basedir}/src/main/resources/${test.uuid}</directory><includes><include>*.properties</include></includes></resource></resources></build> </project>

可以看出只要在properties節點配置了自定義屬性即可在任意地方使用,形式如${x}。

當然除了在pom.xml使用自定義屬性外,還可以在properties文件中使用,比如項目文件src/main/resources/jdbc.properties的文件,寫入如下所示:

jdbc.driverClassName=${jdbc.driverClassName} jdbc.url=${jdbc.url} jdbc.username=${jdbc.username} jdbc.password=${jdbc.password} jdbc.validationQuery=${jdbc.validationQuery}

?

轉載于:https://www.cnblogs.com/EasonJim/p/6815365.html

總結

以上是生活随笔為你收集整理的Maven属性(properties)标签的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。