Linux下Shell脚本切换Maven的settings.xml文件

问题

通常公司和个人分别有自己的Maven配置。虽然我们可以通过修改settings.xml中的activeProfile来切换profile。又或者仅仅只需要修改Maven配置使其指向多个仓库。
但为了使配置清晰分开,又想要切换方便,因此写一个Shell来解决这个问题。

方案

  1. 首先把settings.xml复制两份

    一份叫settings_home.xml
    一份叫settings_work.xml

  2. 采用自动生成软连接的方式替换settings.xml

    在Maven conf目录下创建change-setting.sh文件。文件内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #!/bin/bash
    PS3='Please enter your choice: '
    options=("settings_home" "settings_work" "quit")
    select opt in "${options[@]}"
    do
    case $opt in
    "settings_home")
    ln -sf settings_home.xml settings.xml
    echo "change to settings_home!"
    ;;
    "settings_work")
    ln -sf settings_work.xml settings.xml
    echo "change to settings_work!"
    ;;
    "quit")
    break
    ;;
    *) echo invalid option;;
    esac
    done
  3. 需要切换时运行这个sh就可以了

坚持原创技术分享,您的支持将鼓励我继续创作!