首页 > 技术文章 > Maven内置变量(属性)

jiduoduo 2021-01-28 09:36 原文

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指令。

转自:https://www.cnblogs.com/onmyway20xx/p/4095570.html

推荐阅读