Maven内置变量(属性)
Maven共有6类属性:
①内置属性(Maven预定义属性,用户可以直接使用)
${basedir}表示项目的根路径,即包含pom.xml文件的目录
${version}表示项目版本
${project.basedir}同${basedir}
${project.baseUri}表示项目文件地址
${maven.build.timestamp}表示项目构建开始时间
${maven.build.timestamp.format}表示${maven.build.timestamp}的展示格式,默认值为yyyyMMdd-HHmm
②pom属性(使用pom属性可以引用到pom.xml文件中对应元素的值)
${project.build.sourceDirectory}表示主源码路径,默认为src/main/java/
${project.build.testSourceDirectory}表示测试源码路径,默认为src/test/java/
${project.build.directory}表示项目构建输出目录,默认为target/
${project.outputDirectory}表示项目测试代码编译输出目录,默认为target/classes/
${project.groupId}表示项目的groupId
${project.artifactId}表示项目的artifactId
${project.version}表示项目的version,同${version}
${project.build.finalName}表示项目打包输出文件的名称,默认为${project.artifactId}${project.version}
③自定义属性(在pom.xml文件的<properties>标签下定义的Maven属性)
定义属性:
<project>
<properties>
<mysql.version>5.6.32</mysql.version>
</properties>
</project>
使用属性:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
④setting.xml文件属性(与pom属性同理,用户可以用settings.开头的属性引用setting.xml文件的xml元素值)
${settings.localRepository}表示本地仓库的地址
⑤Java系统属性(所有的Java属性都可以使用Maven属性引用)
mvn help:system 可以查看所有的Java属性
System.getProperties() 可以得到所有的Java属性
${user.home} 表示用户目录
⑥环境变量属性(所有的环境变量都可以以env.开头的Maven属性引用)
mvn help:system 可查看所有的环境变量
${env.JAVA_HOME} 表示JAVA_HOME环境变量的值
转自:https://www.cnblogs.com/guduershi/p/10155550.html
1、Maven内置变量说明:
- ${basedir} 项目根目录
- ${project.build.directory} 构建目录,缺省为target
- ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
- ${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
- ${project.packaging} 打包类型,缺省为jar
- ${project.xxx} 当前pom文件的任意节点的内容
2、一些命令:
-
生成eclipse工程文件:mvn eclipse:clean eclipse:eclipse -DdownloadSources
-
如果执行单元测试出错,用该命令可以在console输出失败的单元测试及相关信息:mvn -Dsurefire.useFile=false
-
有时候,希望在mvn install时,对项目中的单元测试进行调试,使用该命令:mvn install -Dmaven.surefire.debug 。在使用该命令前,在你将要调试的代码中设置好断点,然后运行该命令。该命令执行一会之后,它的build过程会显示信息:Listening for transport dt_socket at address : 5005 。看到这个提示信息之后,在eclipse中,在Debug Configuration窗口,新建Remote Java Application,port设置为5005,然后点击“debug”按钮。之后,刚才的mvn命令将继续往下执行,直到运行到有断点的代码,则停留下来,这时在eclipse中可以调试运行的代码。
3. maven jetty 插件的一些命令:(资料:http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin)
- 启动:mvn jetty:run 默认的端口号是8080。
- 启动时,设置端口号: mvn -Djetty.port=9999 jetty:run
- debug的方式启动:mvnDebug jetty:run 启动之后,会显示具体的debug端口
4. 某些工程有pom.xml文件, 但是工程显示不是maven工程。 此时需要执行pom命令, 首先在工程上右键→「maven」→「Enable Dependency Management」 将工程变为maven工程。 然后执行POM指令。