maven 搭建私服

一、私服簡介

    私服是架設在局域網的一種特殊的遠程倉庫,目的是代理遠程倉庫及部署第三方構件。有了私服以後,當 Maven 須要下載構件時,直接請求私服,私服上存在則下載到本地倉庫;不然,私服請求外部的遠程倉庫,將構件下載到私服,再提供給本地倉庫下載。html

二、安裝jdk

2.1 jdk下載地址

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmljava

2.2 安裝目錄

/usr/local/java

2.3 配置

vim /etc/profile

添加配置vim

export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

三、安裝私服

3.1 下載

    下載地址:http://www.sonatype.com/download-oss-sonatypeoracle

    下載最新的nexus:maven

3.2 解壓和建立連接

$ sudo tar xvf latest-unix.tar.gz -C /opt
$ sudo ln -s /opt/nexus-3.3.1-01/ /opt/nexus

3.3 建立 nexus 用戶

$ sudo adduser nexus
$ sudo chown -R nexus:nexus /opt/nexus

3.4 受權

$ sudo chown -R nexus:nexus /opt/nexus
$ sudo chown -R nexus:nexus /opt/sonatype-work/

3.5 修改/opt/nexus/bin/nexus.rc

$ sudo vim /opt/nexus/bin/nexus.rc

run_as_user="nexus"   
:wq

3.6 安裝服務

$ sudo ln -s /opt/nexus/bin/nexus /etc/init.d/nexus
$ sudo systemctl enable nexus
nexus.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig nexus on

3.7 啓動服務

$ sudo systemctl start nexus

    此時能夠訪問 http://localhost:8081,用戶名:admin ,密碼:admin123。阿里雲

3.8 報錯

    若是報這個錯誤,能夠經過2步驟配置jdk的方式解決。url

3.9 添加代理倉庫

    因爲訪問中央倉庫有時候會比較慢,這裏我添加一個阿里雲的代理倉庫,而後優先級放到默認中央庫以前,, 阿里雲的maven倉庫url爲http://maven.aliyun.com/nexus/content/groups/publicspa

    而後再public組裏面講這個aliyun-proxy倉庫加入,排在maven-central以前便可。3d

四、本地私服使用

4.1 maven 修改

    可在maven的默認配置settings.xml中修改以下:代理

<servers>
    <server>
        <id>releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
</servers>

<mirrors>
    <mirror>
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>
        <url>http://ip:8081/repository/maven-public/</url>
    </mirror>
</mirrors>

<profiles>
    <profile>  
      <id>dev</id>
      <repositories>
        <repository>
          <id>Nexus</id>
          <url>http://ip:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
      <activation>
        <activeByDefault>true</activeByDefault>      
        <jdk>1.8</jdk>
      </activation>
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
    </profile>
</profiles>
<activeProfiles>
    <activeProfile>dev</activeProfile>
</activeProfiles>

4.2 項目修改

<distributionManagement>
    <repository>
        <id>releases</id>
        <name>Releases</name>
        <url>http://ip:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <name>Snapshot</name>
        <url>http://ip:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

    注意:上面的repository的id值必定要跟settings.xml文件中配置的server一致。

    打包:mvn deploy

相關文章
相關標籤/搜索