在Idea Intellij中使用Nexus存储库而不是公共Maven

时间:2015-01-21 09:33:03

标签: maven nexus

如何强制Idea Intellij从Nexus存储库而不是Maven Public repo下载? 我在哪里可以在Idea属性中配置它? 它没有在pom.xml文件中定义,我不想这样做。

1 个答案:

答案 0 :(得分:6)

不确定它是否也适用于Idea Intellij(我正在使用spring source studio - eclipse clon),但是因为maven配置位于.M2目录中的settings.xml中,该目录位于您的主目录中。只需使用这样的东西(我的服务器在nexus-server上运行:8081):

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <servers>
    <server> 
      <id>releases</id>
      <username>user-name</username>
      <password>your-password</password>
    </server>
    <server> 
      <id>snapshots</id>
      <username>user-name</username>
      <password>your-password</password>
    </server>
  </servers>
    <mirrors>
        <mirror>
            <!--This sends everything else to /public -->
            <id>nexus</id>
            <mirrorOf>*</mirrorOf>
            <url>http://nexus-server:8081/nexus/content/groups/public</url>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
            <id>nexus</id>
            <!--Disable snapshots for the built in central repo to direct -->
            <!--all requests to nexus via the mirror -->
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <!--make the profile active all the time -->
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings>