【问题标题】:maven command line how to point to a specific settings.xml for a single command?maven命令行如何指向单个命令的特定settings.xml?
【发布时间】:2014-10-06 07:45:24
【问题描述】:

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

mvn clean install -Dparam # -> pass specific settings file path as param to override default "home/.m2/settings.xml"

【问题讨论】:

    标签: maven command-line overriding settings optional-parameters


    【解决方案1】:

    你可以简单地使用:

    mvn --settings YourOwnSettings.xml clean install
    

    mvn -s YourOwnSettings.xml clean install
    

    【讨论】:

    • 你的意思是本地缓存吗?可以在settings.xml 内部定义或通过命令行-Dmaven.repo.local=$HOME/.my/other/repository
    • @NeerajSinghChouhan 我知道有点晚了,但是在 Eclipse 中,打开 Window > Preferences > Maven > User Settings。在此处指定不同的用户设置 (settings.xml) 文件,然后单击更新设置。
    • 我通过 -s 使用非默认 settings.xml 选项运行 mvn install,并且工件已发布到默认 .m2 存储库,而不是 -s 中指定的存储库。然后我尝试通过 -s 指定一个不存在的设置文件,它抱怨该文件不存在。所以 maven 似乎认识到我正在指定一个非默认文件,但选择不使用它或不完全使用它。
    • 您可以通过-gs,--global-settings 定义一个全局设置文件,并通过-s 定义一个用户设置文件...如果我正确理解您的问题,您可以在用户设置文件中覆盖内容。
    • settings.xml 是全球性的,不是基于项目的。所以settings.xml 的位置是你在$HOME/.m2/ 中的主目录,别无他处。除此之外,它可能包含永远不应放入您的项目中的凭据。 .mvn 目录用于扩展而不是 settings.xml 文件...
    【解决方案2】:

    我只是觉得这很困难,它仍然不适合我。然后我检查了 cmets 并了解您必须覆盖全局设置。指向 @khmarbaise 我将在新答案中添加此内容。

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

    【讨论】:

      猜你喜欢
      • 2016-07-25
      • 2010-11-18
      • 2020-07-02
      • 2023-04-04
      • 2016-03-30
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多