2015-10-06 87 views
1

我已經將Nexus設置爲本地Maven資源庫,並根據Guide更新了settings.xml。如何使本地Nexus資源庫成爲更多公共代理的代理

如果我的依賴關係可以從知名的公共存儲庫MavenCentral中找到,它的工作效果非常好。

但是,它確實不工作如果我的依賴需要從一個不那麼知名的存儲庫下載(如果我不希望在我的項目pom.xml中定義的任何資源庫),如https://clojars.org/repo

如何配置Nexus或Maven來解決我的問題?

我的Maven的settings.xml

<?xml version="1.0" encoding="UTF-8"?> 

<settings> 

    <pluginGroups> 
    </pluginGroups> 

    <proxies> 
    </proxies> 

    <servers> 
    </servers> 

    <mirrors> 
    <mirror> 
     <id>nexus</id> 
     <mirrorOf>*</mirrorOf> 
     <url>http://localhost:8081/nexus/content/groups/public</url> 
    </mirror> 
    </mirrors> 
    <profiles> 
    <profile> 
     <id>nexus</id> 
     <repositories> 
     <repository> 
      <id>clojars</id> 
      <name>Clojars repository</name> 
      <url>https://clojars.org/repo</url> 
     </repository> 
     </repositories> 
    </profile> 
    </profiles> 
    <activeProfiles> 
    <activeProfile>nexus</activeProfile> 
    </activeProfiles> 
</settings> 

而且我的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mycompany.app</groupId> 
    <artifactId>my-app</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>my-app</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
     <dependency> 
      <groupId>com.flipkart.zjsonpatch</groupId> 
      <artifactId>zjsonpatch</artifactId> 
      <version>0.2.1</version> 
     </dependency> 
    </dependencies> 
    <repositories> 
    </repositories> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.3</version> 
       <configuration> 
        <compilerVersion>1.8</compilerVersion> 
        <source>1.8</source> 
        <target>1.8</target> 
        <!-- prevents endPosTable exception for maven compile --> 
        <useIncrementalCompilation>false</useIncrementalCompilation> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 
+0

你有沒有嘗試添加外部回購的配置文件/資料/庫組? – MadProgrammer

+0

是的,請參閱我的完整settings.xml和pom.xml。我沒有按照上面的例子下載zjsonpatch。 –

回答

1

你必須加入的Nexus存儲庫的代理存儲庫。一旦創建,您必須將這些新的存儲庫添加到組公共存儲庫。您當前的settings.xml指向正確的url。因此,現在您將能夠從Nexus中存儲工件的新存儲庫下載工件。

​​ Group repository