marven系列10-marven属性详解

Maven共有6类属性:

1.内置属性(Maven预定义,用户可以直接使用)

${basedir}表示项目根目录,即包含pom.xml文件的目录;
${version}表示项目版本;
${project.basedir}同${basedir};
${project.baseUri}表示项目文件地址;
${maven.build.timestamp}表示项目构件开始时间;
${maven.build.timestamp.format}表示属性${maven.build.timestamp}的展示格式,默认值为yyyyMMdd-HHmm,可自定义其格式,其类型可参考Java.text.SimpleDateFormat。用法如下:

<properties>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
</properties>

上级工程的pom中的变量用前缀 ${project.parent } 引用. 上级工程的版本也可以这样引用: ${parent.version }

2.POM属性(使用pom属性可以引用到pom.xml文件对应元素的值)

${project.build.directory}表示主源码路径,缺省为target;
${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
${project.build.sourceEncoding}表示主源码的编码格式;
${project.build.sourceDirectory}表示主源码路径;
${project.build.finalName}表示输出文件名称,缺省为${project.artifactId}-${project.version};
${project.packaging} 打包类型,缺省为jar;
${project.version}表示项目版本,与${version}相同;

3.自定义属性

在pom.xml文件的

标签下定义的Maven属性

<project>
  <properties>
    <my.pro>abc</my.pro>
  </properties>
</project>

在其他地方使用${my.pro}使用该属性值。

4.settings.xml文件属性

与pom属性同理,用户使用以settings.开头的属性引用settings.xml文件中的XML元素值
${settings.localRepository}表示本地仓库的地址;

5.Java系统属性

所有的Java系统属性都可以使用Maven属性引用
使用mvn help:system命令可查看所有的Java系统属性;
System.getProperties()可得到所有的Java属性;
${user.home}表示用户目录;

通过System.getProperties()获取的java系统属性如下

{java.runtime.name=Java(TM) SE Runtime Environment, sun.boot.library.path=D:\mysoftwarestudy\java\jdk1.8\jre\bin, java.vm.version=25.181-b13, java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/, path.separator=;, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, file.encoding.pkg=sun.io, user.country=CN, user.script=, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=Service Pack 1, java.vm.specification.name=Java Virtual Machine Specification, user.dir=E:\workspace\myeclipse\test, java.runtime.version=1.8.0_181-b13, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.endorsed.dirs=D:\mysoftwarestudy\java\jdk1.8\jre\lib\endorsed, os.arch=amd64, java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\, line.separator=
, java.vm.specification.vendor=Oracle Corporation, user.variant=, os.name=Windows 7, sun.jnu.encoding=GBK, java.library.path=D:\mysoftwarestudy\java\jdk1.8\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:\Program Files\WinRAR;C:\Ruby22-x64\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;D:\mysoftware2\android-sdk\platform-tools;D:\mysoftware\marven\apache-maven-3.5.2\bin;D:\mysoftware\nexus\nexus-2.14.7-01\bin;C:\Program Files\Microsoft\Web Platform Installer\;D:\mysoftwarestudy\nodejs\;D:\mysoftware\python\Scripts\;D:\mysoftware\python\;D:\mysoftware\Sublime\Sublime Text 3;C:\Users\Administrator\AppData\Roaming\npm;C:\adb;D:\mysoftwarestudy\cygwin\bin;D:\mysoftwarestudy\java\jdk1.8\bin;D:\mysoftwarestudy\java\jdk1.8\jre\bin;D:\mysoftwarestudy\java\gradle-4.9\bin;D:\mysoftware\python\Scripts\;D:\mysoftware\python\;D:\mysoftware\Sublime\Sublime Text 3;C:\Users\Administrator\AppData\Roaming\npm;., java.specification.name=Java Platform API Specification, java.class.version=52.0, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, os.version=6.1, user.home=C:\Users\Administrator, user.timezone=, java.awt.printerjob=sun.awt.windows.WPrinterJob, file.encoding=utf-8, java.specification.version=1.8, java.class.path=E:\workspace\myeclipse\test\target\classes, user.name=Administrator, java.vm.specification.version=1.8, sun.java.command=test.test, java.home=D:\mysoftwarestudy\java\jdk1.8\jre, sun.arch.data.model=64, user.language=zh, java.specification.vendor=Oracle Corporation, awt.toolkit=sun.awt.windows.WToolkit, java.vm.info=mixed mode, java.version=1.8.0_181, java.ext.dirs=D:\mysoftwarestudy\java\jdk1.8\jre\lib\ext;C:\windows\Sun\Java\lib\ext, sun.boot.class.path=D:\mysoftwarestudy\java\jdk1.8\jre\lib\resources.jar;D:\mysoftwarestudy\java\jdk1.8\jre\lib\rt.jar;D:\mysoftwarestudy\java\jdk1.8\jre\lib\sunrsasign.jar;D:\mysoftwarestudy\java\jdk1.8\jre\lib\jsse.jar;D:\mysoftwarestudy\java\jdk1.8\jre\lib\jce.jar;D:\mysoftwarestudy\java\jdk1.8\jre\lib\charsets.jar;D:\mysoftwarestudy\java\jdk1.8\jre\lib\jfr.jar;D:\mysoftwarestudy\java\jdk1.8\jre\classes, java.vendor=Oracle Corporation, file.separator=\, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.desktop=windows, sun.cpu.isalist=amd64}

6.环境变量属性

所有的环境变量都可以用以env.开头的Maven属性引用
使用mvn help:system命令可查看所有环境变量;
${env.JAVA_HOME}表示JAVA_HOME环境变量的值;s

mvn help:systems
===============================================================================
System Properties
===============================================================================

java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=D:\mysoftwarestudy\java\jdk1.8\jre\bin
java.vm.version=25.181-b13
java.vm.vendor=Oracle Corporation
maven.multiModuleProjectDirectory=C:\Users\Administrator
java.vendor.url=http://java.oracle.com/
path.separator=;
guice.disable.misplaced.annotation.check=true
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.script=
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=Service Pack 1
java.vm.specification.name=Java Virtual Machine Specification
user.dir=C:\Users\Administrator
java.runtime.version=1.8.0_181-b13
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\mysoftwarestudy\java\jdk1.8\jre\lib\endorsed
os.arch=amd64
java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\
line.separator=

java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 7
classworlds.conf=D:\mysoftware\marven\apache-maven-3.5.2\bin\..\bin\m2.conf
sun.jnu.encoding=GBK
java.library.path=D:\mysoftwarestudy\java\jdk1.8\bin;C:\windows\Sun\Java\bin;C:\
windows\system32;C:\windows;C:\Program Files\WinRAR;C:\Ruby22-x64\bin;C:\windows
\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerSh
ell\v1.0\;D:\mysoftware2\android-sdk\platform-tools;D:\mysoftware\marven\apache-
maven-3.5.2\bin;D:\mysoftware\nexus\nexus-2.14.7-01\bin;C:\Program Files\Microso
ft\Web Platform Installer\;D:\mysoftwarestudy\nodejs\;D:\mysoftware\python\Scrip
ts\;D:\mysoftware\python\;D:\mysoftware\Sublime\Sublime Text 3;C:\Users\Administ
rator\AppData\Roaming\npm;C:\adb;D:\mysoftwarestudy\cygwin\bin;D:\mysoftwarestud
y\java\jdk1.8\bin;D:\mysoftwarestudy\java\jdk1.8\jre\bin;D:\mysoftwarestudy\java
\gradle-4.9\bin;D:\mysoftware\python\Scripts\;D:\mysoftware\python\;D:\mysoftwar
e\Sublime\Sublime Text 3;C:\Users\Administrator\AppData\Roaming\npm;.
maven.conf=D:\mysoftware\marven\apache-maven-3.5.2\bin\../conf
java.specification.name=Java Platform API Specification
java.class.version=52.0
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=6.1
library.jansi.path=D:\mysoftware\marven\apache-maven-3.5.2\bin\..\lib\jansi-nati
ve
user.home=C:\Users\Administrator
user.timezone=Asia/Shanghai
java.awt.printerjob=sun.awt.windows.WPrinterJob
java.specification.version=1.8
file.encoding=GBK
user.name=Administrator
java.class.path=D:\mysoftware\marven\apache-maven-3.5.2\bin\..\boot\plexus-class
worlds-2.5.2.jar
java.vm.specification.version=1.8
sun.arch.data.model=64
java.home=D:\mysoftwarestudy\java\jdk1.8\jre
sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher help:system
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.8.0_181
java.ext.dirs=D:\mysoftwarestudy\java\jdk1.8\jre\lib\ext;C:\windows\Sun\Java\lib
\ext
sun.boot.class.path=D:\mysoftwarestudy\java\jdk1.8\jre\lib\resources.jar;D:\myso
ftwarestudy\java\jdk1.8\jre\lib\rt.jar;D:\mysoftwarestudy\java\jdk1.8\jre\lib\su
nrsasign.jar;D:\mysoftwarestudy\java\jdk1.8\jre\lib\jsse.jar;D:\mysoftwarestudy\
java\jdk1.8\jre\lib\jce.jar;D:\mysoftwarestudy\java\jdk1.8\jre\lib\charsets.jar;
D:\mysoftwarestudy\java\jdk1.8\jre\lib\jfr.jar;D:\mysoftwarestudy\java\jdk1.8\jr
e\classes
sun.stderr.encoding=ms936
java.vendor=Oracle Corporation
maven.home=D:\mysoftware\marven\apache-maven-3.5.2\bin\..
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.stdout.encoding=ms936
sun.desktop=windows
sun.cpu.isalist=amd64

===============================================================================
Environment Variables
===============================================================================

CLASSWORLDS_JAR="D:\mysoftware\marven\apache-maven-3.5.2\bin\..\boot\plexus-clas
sworlds-2.5.2.jar"
PSMODULEPATH=C:\windows\system32\WindowsPowerShell\v1.0\Modules\
COMMONPROGRAMW6432=C:\Program Files\Common Files
PROGRAMW6432=C:\Program Files
WINDOWS_TRACING_LOGFILE=C:\BVTBin\Tests\installpackage\csilogfile.log
PROCESSOR_ARCHITECTURE=AMD64
NEXUS_HOME=D:\mysoftware\nexus\nexus-2.14.7-01
_DFX_INSTALL_UNSIGNED_DRIVER=1
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
FP_NO_HOST_CHECK=NO
PATH=C:\Program Files\WinRAR;C:\Ruby22-x64\bin;C:\windows\system32;C:\windows;C:
\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;D:\mysoftware
2\android-sdk\platform-tools;D:\mysoftware\marven\apache-maven-3.5.2\bin;D:\myso
ftware\nexus\nexus-2.14.7-01\bin;C:\Program Files\Microsoft\Web Platform Install
er\;D:\mysoftwarestudy\nodejs\;D:\mysoftware\python\Scripts\;D:\mysoftware\pytho
n\;D:\mysoftware\Sublime\Sublime Text 3;C:\Users\Administrator\AppData\Roaming\n
pm;C:\adb;D:\mysoftwarestudy\cygwin\bin;D:\mysoftwarestudy\java\jdk1.8\bin;D:\my
softwarestudy\java\jdk1.8\jre\bin;D:\mysoftwarestudy\java\gradle-4.9\bin;D:\myso
ftware\python\Scripts\;D:\mysoftware\python\;D:\mysoftware\Sublime\Sublime Text
3;C:\Users\Administrator\AppData\Roaming\npm
PROGRAMDATA=C:\ProgramData
WDIR=C:\
SYSTEMROOT=C:\windows
JAVACMD=D:\mysoftwarestudy\java\jdk1.8\bin\java.exe
TMP=C:\Users\ADMINI~1\AppData\Local\Temp
PROGRAMFILES(X86)=C:\Program Files (x86)
EXEC_DIR=C:\Users\Administrator
COMPUTERNAME=QH-20151022LUOE
M2=D:\mysoftware\marven\apache-maven-3.5.2\bin
OS=Windows_NT
PROMPT=$P$G
MAVEN_HOME=D:\mysoftware\marven\apache-maven-3.5.2\bin\..
WINDIR=C:\windows
GRADLE_HOME=D:\mysoftwarestudy\java\gradle-4.9
SYSTEMDRIVE=C:
COMSPEC=C:\windows\system32\cmd.exe
=C:=C:\Users\Administrator
HOMEDRIVE=C:
LOGONSERVER=\\QH-20151022LUOE
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
COMMONPROGRAMFILES=C:\Program Files\Common Files
PROGRAMFILES=C:\Program Files
COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files
TEMP=C:\Users\ADMINI~1\AppData\Local\Temp
NUMBER_OF_PROCESSORS=4
USERDOMAIN=QH-20151022LUOE
M2_HOME=D:\mysoftware\marven\apache-maven-3.5.2
ADB=D:\mysoftware2\android-sdk\platform-tools
PROCESSOR_LEVEL=6
CYGWIN=ntsec tty
ERROR_CODE=0
SESSIONNAME=Console
VBOX_MSI_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
USERNAME=Administrator
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
WINDOWS_TRACING_FLAGS=3
JVMCONFIG=\.mvn\jvm.config
PUBLIC=C:\Users\Public
PROCESSOR_REVISION=3c03
USERPROFILE=C:\Users\Administrator
APPDATA=C:\Users\Administrator\AppData\Roaming
HOMEPATH=\Users\Administrator
LOCALAPPDATA=C:\Users\Administrator\AppData\Local
JAVA_HOME=D:\mysoftwarestudy\java\jdk1.8
ALLUSERSPROFILE=C:\ProgramData
MAVEN_CMD_LINE_ARGS=help:system
CLASSPATH=.;D:\mysoftwarestudy\java\jdk1.8\lib\dt.jar;D:\mysoftwarestudy\java\jd
k1.8\lib\tools.jar;
MAVEN_PROJECTBASEDIR=C:\Users\Administrator

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注