close

  其用意有二:

  1. 存取Local的Repository減少HTTP Request,降低頻寬負荷。
  2. 針對駐點開發環境不能連上Internet情況。

  第一步:下載Nexus,至http://nexus.sonatype.org/downloads/下載nexus-webapp-version-bundle.zip,目前最新版是1.3.6,也可以下載nexus-webapp-version.war自己佈到Tomcat或其它的Web Server。而我用的是Nexus預備的Jetty,把zip檔解壓縮後,切換到Nexus Home目錄下的nexus-webapp-1.3.6\bin\jsw\windows-x86-32,執行Nexus.bat就啟動了。

  第二步:切換到%USERPROFILE%\.m2,編輯setting.xml,若沒有這檔案從Maven Home下的conf目錄把該檔複製過來。增加如下的內容:

<settings>
  ...
  <mirrors>
    <mirror>
        <id>Nexus</id>
        <name>Nexus Public Mirror</name>
        <url>
http://10.1.2.3:8081/nexus/content/groups/public</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>

  <profiles>
    <profile>
        <id>nexus</id>
        <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>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>

</settings>

  呼!內容看來不少,也沒全懂。除了上面紅字URL就是第一步啟動的Nexus Server的URL外,其它照抄。我測試時是Nexus Server和Local放在不同台。然後把Nexus Site的Repository的junit目錄全刪。我在Nexus Site建立個Struts2的starter(參考Maven初體驗),做了mvn clean install,有把JUnit 3.8.1給下載到Nexus Site的Repository。

  接著在Local設好setting.xml,也是同樣把Local repository的junit目錄刪了。而pom.xml則除了有dependcy JUnit 3.8.1外,還有最新的JUnit 4.7。是故在Local Site執行mvn clean install結果是,到Nexus Site找到JUnit 3.81就下載到自己的repository,但找不到4.7就直接到Maven Central下載。而Nexus Site並沒有因為Local Site對JUnit 4.7的請求而也把4.7給下載下來。也許需要再改個設定也說不定。

arrow
arrow
    全站熱搜

    Jemmy 發表在 痞客邦 留言(0) 人氣()