"Maven 的 -D 是什么意思?"

6

我看到一些带有-D的maven命令。例如:

mvn clean install -Duser=john -Dpw=122345

我在互联网上找不到任何相关信息,能否有人向我展示一些关于它含义的官方文件?

这是如何传递参数的示例 - 如需官方文档,请访问Maven官方文档 :) - m.antkowicz
在这里,您可以查看所有Maven命令行参数 https://maven.apache.org/ref/3.8.1/maven-embedder/cli.html - RubioRic
2个回答

6

命令行工具通常有一个--help选项,您可以使用它来查找此信息。 执行mvn --help将产生有关-D的以下信息:

-D,--define <arg>                      Define a system property

3

-Dname=value是声明一个名为"name",值为"value"的变量。

这个变量可以在pom.xml中像这样使用${name}。这样的表达式将被替换为"value"。

示例

    <dependency>
        <groupId>com.acme</groupId>
        <artifactId>lolipop-factory</artifactId>
        <version>${name}</version>
    </dependency>

实际上将会起作用

    <dependency>
        <groupId>com.acme</groupId>
        <artifactId>lolipop-factory</artifactId>
        <version>value</version>
    </dependency>

如果您将其作为mvn -Dname=value compile运行,它也可以从maven插件中访问。


谢谢,这真的很有帮助。除了 pom.xml 之外,还有其他地方可以使用 -D 参数吗?如何在 pom.xml 中使用替换后的值?我知道 Spring Boot 使用此技巧。 - Toni26
@Toni26,我稍微扩展了我的回答。 - talex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接