<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<settings>
  <mirrors>
    <mirror>
      <id>alicloud-mvn-mirror</id>
      <name>Alibaba Maven mirror</name>
      <url>http://172.17.0.1:8888/repository/maven-central/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>alicloud-mvn-confluent-mirror</id>
      <name>Alibaba Confluent Maven mirror</name>
      <url>http://172.17.0.1:8888/repository/confluent/</url>
      <mirrorOf>confluent</mirrorOf>
    </mirror>
  </mirrors>
</settings>
