有两种方式

第一种:最简单明了的方式

直接在你项目的pom.xml中添加如下

<repositories>  
        <repository>  
            <snapshots>  
                <enabled>true</enabled>  
            </snapshots>  
            <id>public</id>  
            <name>Public Repositories</name>  
            <url>http://localhost:8081/nexus/content/groups/public/</url>  
        </repository>  
    </repositories>  
    <pluginRepositories>  
        <pluginRepository>  
            <id>public</id>  
            <name>Public Repositories</name>  
            <url>http://localhost:8081/nexus/content/groups/public/</url>  
        </pluginRepository>  
    </pluginRepositories>

那么,maven会首先从你配置的公共仓库中取信息,取不到再去默认的仓库取

 

 

第二种: 配置稍复杂    

 

为了使用Nexus,你将要配置Maven去检查Nexus而不是公共仓库。为此,你需要需该Maven的mirror setting,该配置文件在~/.m2/settings.xml也有可能是Maven目下路conf/settings.xml.首先,我们演示如何配置Maven查阅你的Nexus而不是Maven Central repository。然后我们重写central repository并验证Nexus是工作的。

    配置Maven使用单个Nexus Group

    如果你想更改Nexus用于内部开发,你应该配置一个包含了release版和snapshot的single nexus group。为此,你需要添加snapshot仓库到你的public group,并且在你的Maven的settings.xml中添加如下内容:

<settings>
  <mirrors>
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>								
      <url>http://localhost:8081/nexus/content/groups/public</url>
    </mirror>
</mirrors>
 
<profiles>
  <profile>
    <id>nexus</id>
    <!--Enable 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>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>
 
  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <url>http://central</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
   </snapshots>
  </pluginRepository>
</pluginRepositories>
</profile>
</profiles>
 
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>

在上面的配置信息中,我们定义了一个single group:nexus。 然后配置了repository以及pluginRepository并以id "central"命名,这个配置重写了super pom的同名的仓库。我们更改了仓库让其支持snapshots并且使用了伪造的URL替换了默认URL,这样nexus group能够包含release以及snapshot版的artifacts,并且maven可以使用它们。

 

    为Missing Denpendence添加一个自定义的仓库

    如果你曾经配置了maven settings.xml来列出nexus的public group里所有的仓库,你可能遇到你的项目无法在本地nexus取得artifacts信息。这很有可能是因为你尝试去构建在pom中定义的自定义仓库或者snapshotRepository。

    首先登陆nexus,默认的用户名和密码是admin/admin123,按图示进行选择:

nexus公司maven nexus maven配置_maven

 

在弹出框中选择Proxy Repository,填写表单后保存即可。

 

 

第二种方式也是nexus官方文档的做法,但是我没有配置成功,总是报无法找到xxx, 因为赶工期,也就暂时搁置不研究了。