maven命令行如何指向单个命令的特定settings.xml?

gui*_*ebl 102 settings command-line overriding optional-parameters maven

是否可以指向特定的设置文件,以覆盖maven用于单个命令的默认settings.xml?例:

mvn clean install -Dparam # -> pass specific settings file path as param to override default "home/.m2/settings.xml"
Run Code Online (Sandbox Code Playgroud)

khm*_*ise 204

你可以简单地使用:

mvn --settings YourOwnSettings.xml clean install
Run Code Online (Sandbox Code Playgroud)

要么

mvn -s YourOwnSettings.xml clean install
Run Code Online (Sandbox Code Playgroud)

  • 你是说本地缓存吗?可以在`settings.xml`内定义或通过命令行`-Dmaven.repo.local = $ HOME / .my / other / repository`定义 (3认同)
  • 您可以通过“-gs,--global-settings”定义全局设置文件,并通过“-s”定义用户设置文件...在用户设置文件中,您可以覆盖一些内容如果我正确理解您的问题。 (3认同)
  • @NeerajSinghChouhan 我知道有点晚了,但是在 Eclipse 中,打开 Window > Preferences > Maven > User Settings。在那里指定不同的用户设置 (settings.xml) 文件,然后单击“更新设置”。 (2认同)
  • `settings.xml` 是全局的,而不是基于项目的。因此,“settings.xml”的位置是“$HOME/.m2/”中您的主目录,而不是其他地方。除此之外,它可能包含永远不应该放入您的项目中的凭据。`.mvn` 目录用于扩展,而不是用于 `settings.xml` 文件...... (2认同)

小智 12

我只是觉得这很困难,它仍然对我不起作用。然后我检查了评论并了解到您必须覆盖全局设置。由 @khmarbaise 指出,我将其添加到新答案中。

mvn -gs /local-path/settings.xml clean install

mvn --global-settings /local-path/settings.xml clean install
Run Code Online (Sandbox Code Playgroud)


The*_*le2 5

您可能需要覆盖全局设置和用户设置。这对我有用:

mvn -s C:\settings.xml -gs C:\settings.xml clean install
Run Code Online (Sandbox Code Playgroud)