在我的settings.xml中,我有一个像这样的镜像条目:
<mirror>
<id>corporate-vpn</id>
<name>Approved Corporate Java</name>
<url>https://some-url-available-in-vpn-only/repository/maven-public</url>
<mirrorOf>*</mirrorOf>
</mirror>
只要我连接到 VPN,这就像一个魅力。有时它不可用,因此我需要直接连接到 Maven Central(和其他)。目前我通过注释掉镜像条目来做到这一点(主要是在 mvn 失败之后)。
我想知道是否有更好的方法,所以如果不可用,mvn 会跳过镜像?
添加了一些变化:https://some-url-available-in-vpn-only 有一个公共登陆页面,上面写着:去使用 vpn。
目前以简单的原生方式是不可能的。
有一个未解决的问题:https://issues.apache.org/jira/browse/MNG-5698 命题在
mirrors
中定义
profiles
现在您必须在不同的文件中维护
settings.xml
供家庭使用和公司使用...或按您所写的那样编辑 settings
。
一种方法是拥有两个文件,为了轻松切换,我在
.bash_profile
中定义了函数,例如:
function _ms_home {
echo "Switch default maven settings to home"
pushd ~/.m2 > /dev/null
ln -sfv settings-home.xml settings.xml
popd > /dev/null
}
function _ms_work {
echo "Switch default maven settings to work"
pushd ~/.m2 > /dev/null
ln -sfv settings-work.xml settings.xml
popd > /dev/null
}
最后我可以简单地在我的 shell 中执行:
_ms_work
或 _ms_home
根据我当前工作的环境。