当前位置: 首页 > 面试题库 >

如何使用mvn -D通过命令行在Maven中设置(多个)属性?

诸葛亮
2023-03-14
问题内容

如何mvn -D在Maven中使用?如何使用它设置一个(或多个)属性?

有什么官方文章mvn -D吗?

我找不到一个。谢谢。


问题答案:

通过命令行使用来设置属性的正确方法-D是:

mvn -DpropertyName=propertyValue clean package
  • 如果propertyName中不存在pom.xml,它将被设置。
  • 如果中propertyName已经存在,则pom.xml其值将被通过作为参数传递的那个值 覆盖-D

要发送 多个变量 ,请使用多个以空格分隔-D的:

mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package

您可以在《Maven:完整参考》中查看有关属性的更多详细信息。更具体地说,在
6.1
节中


Maven命令行选项/6.1.1。

定义属性

例:

如果您有pom.xml

<properties>
    <theme>myDefaultTheme</theme>
</properties>

然后mvn -Dtheme=halloween clean packagetheme在此执行期间覆盖s的值,其 效果 就好像您具有:

<properties>
    <theme>halloween</theme>
</properties>


 类似资料:
  • 问题内容: 我对使用Maven时通过命令行为某些单元测试设置属性的正确方法感到困惑。有很多问题(例如,在不设置MAVEN_OPTS环境变量的情况下指定Maven内存参数,是否可以通过命令行将jvmargs传递给maven,如何为Junit单元测试设置JVM参数?)碰到这个问题,但是没有人正在寻找我的答案。 我想将属性设置为某个值,但是我不想设置环境变量。 我可以使用以下属性在我的pom文件中配置s

  • 问题内容: 有没有一种简单的方法可以在命令行上为Java程序指定多个系统属性,而不是具有多个-D语句? 试图避免这种情况: 我以为我看到了一个例子,该例子之后有人使用一个引号引起来的字符串,但是我再也找不到该例子了。 问题答案: 答案是否定的。您可能已经看到了一个示例,其中有人会设置如下内容: 然后,应用程序将解析属性字符串的值以获得单个值。在您中,您可以将键值设为(假设可以保证输入格式): 另外

  • 我需要根据Spring Boot Maven应用程序中的环境细节激活配置文件。我在设置中配置了配置文件。xml 我尝试通过激活配置文件使用命令 但是配置文件没有正确激活。但是它是通过添加标签来工作的。 但是我需要激活特定环境的配置文件 我们可以通过任何方式将参数传递给设置中的。xml文件?类似于此 参考: 如何从命令行激活配置文件? 通过Maven在SpringBoot中配置活动配置文件 http

  • 问题内容: 我想使用通过命令行传递的自定义版本来构建JAR,例如: 当我执行gradle构建任务时,如下所示: 应该生成myproject-1.0.jar。 我尝试将下面的行添加到 build.gradle ,但是没有用: 问题答案: 您无法从命令行覆盖现有项目属性,请在此处查看。因此,请尝试将版本变量重命名为不同于版本的变量,并在命令前使用flag进行设置,例如: 然后在您的build.grad

  • 但没有效果(全名为空)。 帮助中提到,只有在“常规设置->编译器变量”步骤中定义的变量才能像这样被重写。 这是否意味着我必须创建一个额外的“中间”编译器变量,并将其放在的全名字段中?

  • 问题内容: 可以在调用“ java jar jar_name.jar”时指定要使用的JVM。我的机器上安装了两个JVM。我无法更改JAVA_HOME,因为它可能会破坏所有准备就绪的代码。 亲切的问候 史提芬 问题答案: 是的-仅显式提供java.exe的路径。例如: 对于正在运行的命令外壳,最简单的方法是: 例如,这是一个完整的会话,显示我的默认JVM,然后是路径的更改,然后是新的: 但是,这不会