linux下安裝nexus repository及Intellij Idea集成私有maven

前段日子公司搞java項目,使用nexus repository搭建了私有maven庫,如今把原來的私有nuget也遷到nexus repository上了,下面介紹下搭建流程:java

 

https://help.sonatype.com/display/NXRM3/Downloadlinux

官方下載tar包  當前 nexus-3.8.0-02-unix.tar.gzshell

使用xshell的rz命令上傳到linux服務器服務器

 

解壓縮文件:tar -zxvf nexus-3.8.0-02-unix.tar.gz (會解壓出兩個文件夾)app

進入解壓後文件 cd nexus-3.8.0-02maven

編輯配置文件:vi etc/nexus-default.propertieside

配置文件中更改端口號(默認端口號8081):工具

application-port=5006網站

(若是更改工做路徑,修改nexus-work,如 nexus-work=${user.home}/sonatype-work/nexusui

進入bin文件夾:cd bin

啓動nexus服務: ./nexus start

查看服務狀態: ./nexus status

訪問地址ip:5006,出現下面界面:

默認用戶:admin admin123

登錄後能夠建立不一樣類型倉儲,關於nexus repository倉儲說明以下:

1、component name解釋: 

    (1)maven-central:maven中央庫,默認從https://repo1.maven.org/maven2/拉取jar 

    (2)maven-releases:私庫發行版jar 

    (3)maven-snapshots:私庫快照(調試版本)jar 

    (4)maven-public:倉庫分組,把上面三個倉庫組合在一塊兒對外提供服務,在本地maven基礎配置settings.xml中使用。

2、Nexus默認的倉庫類型有如下四種:

    (1)group(倉庫組類型):又叫組倉庫,用於方便開發人員本身設定的倉庫

    (2)hosted(宿主類型):內部項目的發佈倉庫(內部開發人員,發佈上去存放的倉庫)

    (3)proxy(代理類型):從遠程中央倉庫中尋找數據的倉庫(能夠點擊對應的倉庫的Configuration頁簽下Remote Storage Location屬性的值即被代理的遠程倉庫的路徑)

    (4)virtual(虛擬類型):虛擬倉庫

3、Policy(策略):表示該倉庫爲發佈(Release)版本倉庫仍是快照(Snapshot)版本倉庫

4、Public Repositories下的倉庫:

   (1)3rd party: 沒法從公共倉庫得到的第三方發佈版本的構件倉庫,即第三方依賴的倉庫,這個數據一般是由內部人員自行下載以後發佈上去

   (2)Apache Snapshots: 用了代理ApacheMaven倉庫快照版本的構件倉庫 

   (3)Central: 用來代理maven中央倉庫中發佈版本構件的倉庫 

   (4)Central M1 shadow: 用於提供中央倉庫中M1格式的發佈版本的構件鏡像倉庫 

   (5)Codehaus Snapshots: 用來代理CodehausMaven 倉庫的快照版本構件的倉庫 

   (6)Releases: 內部的模塊中release模塊的發佈倉庫,用來部署管理內部的發佈版本構件的宿主類型倉庫;release是發佈版本

   (7)Snapshots:發佈內部的SNAPSHOT模塊的倉庫,用來部署管理內部的快照版本構件的宿主類型倉庫;snapshots是快照版本,也就是不穩定版本

  因此自定義構建的倉庫組代理倉庫的順序爲:Releases,Snapshots,3rd party,Central。也可使用oschina放到Central前面,下載包會更快。

 

Intellij Idea 集成私有maven:

找到maven的配置文件setting.xml( 在idea的 File 》Setting 中 )操做如圖:

( 若是上圖路徑下沒有配置setting.xml文件,能夠在idea安裝過路徑的plugins\maven\lib\maven3\conf中拷貝一個過去,

本人電腦在C:\Program Files\JetBrains\IntelliJ IDEA 2017.3.2\plugins\maven\lib\maven3\conf中 )

setting.xml中增長以下配置:

  <servers>

 <server>

      <id>nexus</id>

      <username>admin</username>

      <password>admin123</password>

     </server>

  </servers>

 

使用idea打開或新建項目,在項目的pom.xml文件中增<project></project>節點下增長以下配置:

//代理repository

<repositories>

    <repository>

        <id>maven-central</id>

        <name>maven-central</name>

        <url>http://ip:port/repository/maven-central/</url>

        <snapshots>

            <enabled>true</enabled>

        </snapshots>

        <releases>

            <enabled>true</enabled>

        </releases>

    </repository>

</repositories>

 

須要將源碼上傳到maven的話,在項目的pom.xml文件中增<project></project>節點下增長以下配置:

//jar包發佈repository

<distributionManagement>

    <snapshotRepository>

        <id>nexus</id>

        <name>Nexus Snapshot</name>

        <url>http://ip:port/repository/maven-snapshots/</url>

    </snapshotRepository>

    <repository>

        <id>nexus</id>

        <name>Nexus Release</name>

        <url>http://ip:port/repository/maven-releases/</url>

    </repository>

//網站信息

    <!--<site>

        <id>nexus</id>

        <name>Nexus Sites</name>

        <url>dav:http://ip:port/repository/maven-snapshots/</url>

    </site>-->

</distributionManagement>

<build>

    <plugins>

        //上傳源碼插件

        <plugin>

            <artifactId>maven-source-plugin</artifactId>

            <version>2.1</version>

            <configuration>

                <attach>true</attach>

            </configuration>

            <executions>

                <execution>

                    <phase>compile</phase>

                    <goals>

                        <goal>jar</goal>

                    </goals>

                </execution>

            </executions>

        </plugin>

    </plugins>

</build>

 

注意:

setting.xml和pom.xml中的id節點值必須一致,

pom.xml頭部文件中version節點的值中含有SNAPSHOT時maven會認爲是快照版本,發佈到maven-snapshots倉庫,

不含則認爲是release版本,發佈到maven-releases倉庫

 

配置完成後就可使用idea發佈jar到私有倉庫或者拉取jar了,打開idea下maven工具方式如以下圖:

添加Maven Project視圖後在idea右側會顯示工具界面,點擊相應按鈕便可完成操做,如圖:

 

PS:idea建立maven項目時更改默認jdk版本爲1.8方法以下:

修改maven的setting.xml文件,添加以下:

<profile>   

    <id>jdk-1.8</id>   

     <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>

 

重啓idea後生效。

相關文章
相關標籤/搜索