多个镜子的maven设置

zoo*_*tar 6 eclipse m2eclipse

我有一些个人项目,很少有公司项目.企业项目使用镜像的企业SVN仓库来实现maven依赖.我想以这样的方式配置我的settings.xml,以便首先根据我的公司镜像检查依赖项.只有在这里找不到依赖项时(对于我的个人项目),它才应该检查由我的公司仓库镜像的原始"中央"仓库.这可能吗.下面是我现在所拥有的片段,但在需要时它没有点击"中央"回购.谢谢.

<servers>
    <server>
        <id>central-mirror</id>
        <username>myusername</username>
        <password>mypassword</password>
        <filePermissions>664</filePermissions>
        <directoryPermissions>775</directoryPermissions>
        <configuration></configuration>
    </server>
</servers>

<mirrors>
    <mirror>
        <id>central-mirror</id>
        <url>https://url.to.my/mirror</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>


<proxies>
    <proxy>
    <id>proxy</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>my.corporate.proxy</host>
    <port>8080</port>
    <nonProxyHosts>localhost|*.my.corporate.proxy</nonProxyHosts>
</proxy>
Run Code Online (Sandbox Code Playgroud)

zoo*_*tar 9

经过一些试验和错误后我终于想出了如何做到这一点.我希望这会有助于其他许多人.下面是我更新的settings.xml.对于Eclipse中的任何项目,maven首先尝试从我的公司镜像下载libs.只有当它无法在那里找到它时,才能从中央回购中获取它.

<servers>
    <server>
        <id>central-mirror</id>
        <username>myusername</username>
        <password>mypassword</password>
        <filePermissions>664</filePermissions>
        <directoryPermissions>775</directoryPermissions>
        <configuration></configuration>
    </server>
</servers>

<mirrors>
    <mirror>
        <id>central-mirror</id>
        <url>https://url.to.my/mirror</url>
        <mirrorOf>*,!central</mirrorOf>
    </mirror>
</mirrors>


<proxies>
    <proxy>
    <id>proxy</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>my.corporate.proxy</host>
    <port>8080</port>
    <nonProxyHosts>localhost|*.my.corporate.proxy</nonProxyHosts>
</proxy>

<profiles>
  <profile>
    <activeByDefault>true</activeByDefault>
    <repositories>
        <repository>
            <id>central-mirror</id>
            <url>https://url.to.my/mirror</url>
        </repository>
    </repositories>
  </profile>
</profiles
Run Code Online (Sandbox Code Playgroud)

  • 你能解释一下吗?当你需要两个镜子时,为什么只有一个镜子和回购?为什么在此定义了服务器? (3认同)