Gradle傳給虛擬機器的引數
轉載自:http://blog.csdn.net/hongweigg/article/details/52980554?locationNum=1&fps=1
Gradle傳給虛擬機器的引數通過-D命令最可靠,例如
gradlew -Dparam.key1=value1
使用ext, -P或systemProp傳遞屬性,經測試,均不能有效傳遞到虛擬機器。
參考:
在專案根目錄下建立名為gradle.properties檔案,在該檔案中定義需要的屬性。這些屬性在Gradle構建Gradle領域物件(即project物件例項)時會被自動加到project物件例項中作為其屬性被直接呼叫。
定義在build.gradle中的ext塊中。ext準確的說是Gradle領域物件的一個屬性,我們可以將自定義的屬性新增到ext物件上,Build.gradle中的其它程式碼片段可以使用。
從上述可以看到ext物件其實是DefaultExtraPropertiesExtension物件的一個例項。
在命令列中通過-D或者-P給Gradle實時建立屬性。 -D屬性會被傳送給啟動Gradle的jvm,作為一個系統屬性被jvm使用。
-P屬性則會被直接載入到Gradle領域物件上。
在Gradle配置檔案中建立系統屬性。剛講過在gradle.properties檔案可以建立屬性,同時我們也可以建立系統屬性。如果有systemProp.字首的屬性會被識別為系統屬性。
將特殊字首的系統屬性或環境變數自動加入到Gradle領域物件中。
如果有環境變數以ORG_GRADLE_PROJECT.為字首,那麼該變數會被自動新增到Gradle領域物件中。同樣,如果有系統屬性以org.gradle.project.為字首,那麼也會被自動加入到Gradl領域物件中。這一特性的目的之一是為了隱藏一些敏感的資訊。比如在執行Gradle指令碼時需要傳入密碼資訊,如果以-P的方式傳送會被別人看到。而把該屬性儲存為環境變數,只有系統管理員才有權訪問和修改。在執行Gralde的時候該環境變數會被自動加入到Gradle物件中被使用,隔離了明暗資料,又不行影響其他使用者使用。(其他使用者可以通過-P方式是設定該屬性)。
相關文章
- Java虛擬機器3:常用JVM命令引數Java虛擬機JVM
- 給虛擬機器的增加空間虛擬機
- Java虛擬機器(JVM)引數配置說明薦Java虛擬機JVM
- Dalvik虛擬機器、Java虛擬機器與ART虛擬機器虛擬機Java
- Java 虛擬機器總結給面試的你(下)Java虛擬機面試
- Java 虛擬機器總結給面試的你(中)Java虛擬機面試
- Java虛擬機器總結給面試的你(上)Java虛擬機面試
- 給android虛擬機器avd安裝apkAndroid虛擬機APK
- java虛擬機器和Dalvik虛擬機器Java虛擬機
- Android 虛擬機器 Vs Java 虛擬機器Android虛擬機Java
- 虛擬機器虛擬機
- 作業系統引導和虛擬機器作業系統虛擬機
- Linux雲端計算技術學習:常用虛擬機器引數Linux虛擬機
- 虛擬機器的概念虛擬機
- 虛擬機器的克隆虛擬機
- 虛擬機器的搭建虛擬機
- 連線虛擬機器oracle 和虛擬機器KEY虛擬機Oracle
- 虛擬機器(三)虛擬機器配置靜態Ip虛擬機
- LVM擴容-----給虛擬機器新增空間LVM虛擬機
- 虛擬機器與主機互傳檔案方法分享虛擬機
- PD虛擬機器 18 for Mac(Mac虛擬機器軟體)虛擬機Mac
- jvm HotSpot虛擬機器主要參數列JVMHotSpot虛擬機
- JVM 虛擬機器JVM虛擬機
- JVM虛擬機器JVM虛擬機
- Neo 虛擬機器虛擬機
- VMware虛擬機器虛擬機
- VMware虛擬機器優化,提高虛擬機器執行速度的方法?虛擬機優化
- 虛擬機器入門二,虛擬機器的三種網路模式虛擬機模式
- 虛擬機器arm虛擬環境搭建虛擬機
- KVM虛擬機器的管理虛擬機
- 建立新的虛擬機器虛擬機
- 【虛擬機器的瞭解】虛擬機
- 給一個介面傳遞引數,並接收返回的引數
- 工具資源系列之給虛擬機器裝個centos虛擬機CentOS
- windows如何傳檔案到linux虛擬機器WindowsLinux虛擬機
- VMware虛擬機器如何設定使主機和虛擬機器不同IP虛擬機
- 深入理解虛擬機器之虛擬機器類載入機制虛擬機
- Java 虛擬機器之三:Java虛擬機器的記憶體結構Java虛擬機記憶體