maven打包並上傳到nexus3私服


  之前搭了個maven私服,接下來則要充分利用這個私服的優勢上傳自己的jar包了。

  我們先在nexus上創建一個用來上傳jar包的角色,並通過此角色創建若干帳號用來給開發者上傳包。如圖是我自己的配置:

 

  在這里面包含4項權限,repository-view代表的是repository的使用權限,add,edit,read即可構成完整的上傳權限。通過此role創建若干user:在這里我給我自己創建了一個uploaduser用來上傳jar包。

  注:為什么不用admin賬戶?因為上傳jar包並不需要admin權限,而admin用戶包含的全部的權限,不僅有repository的view和admin還有許多其他權限,並且在settings中密碼明文存儲,並不安全,而在我這里創建的用戶雖然有edit權限,但是只能操作自定義的jar包,對沒有redeploy的倉庫依舊沒什么卵用。所以相對安全可控。

  之后在.m2/settings中加入兩條server:  

    <server>
        <id>nexus-snapshot</id>
        <username>uploaduser</username>
        <password>mima</password>
    </server>
    <server>
        <id>nexus-release</id>
        <username>uploaduser</username>
        <password>mima</password>
    </server>

   注意,id這玩意可以隨便起名,但是要記住,因為pom文件需要用到,在這里指定的用戶名密碼,在pom文件里指定id對應的倉庫url,這樣可以連接到倉庫。

  在需要的jar包內加入如下配置:

<distributionManagement>
    <repository>
      <!-- 這里的ID要和setting的id一致 -->
      <id>nexus-release</id>
      <url>http://192.168.xx.xxx:18081/repository/maven-releases/</url>
     </repository>
      <!--這是打成快照版本的配置 -->
     <snapshotRepository>
      <id>nexus-snapshot</id>
      <url>http://192.168.xx.xxx:18081/repository/maven-snapshots/</url>
    </snapshotRepository>

  這里的兩個url可以在nexus中點擊對應的庫直接復制過來,不用自己敲進去。

  如果你需要編譯scala工程,在pom中加入:

<plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <version>3.2.2</version>
        <executions>
            <execution>
                <id>compile-scala</id>
                <phase>compile</phase>
                <goals>
                    <goal>add-source</goal>
                    <goal>compile</goal>
                </goals>
            </execution>
            <execution>
                <id>test-compile-scala</id>
                <phase>test-compile</phase>
                <goals>
                    <goal>add-source</goal>
                    <goal>testCompile</goal>
                </goals>
            </execution>
        </executions>
        <!-- 
        <configuration>
            <compilerPlugins>
                <compilerPlugin>
                    <groupId>org.scalamacros</groupId>
                    <artifactId>paradise_2.11.11</artifactId>
                    <version>2.1.1</version>
                </compilerPlugin>
            </compilerPlugins>
        </configuration>
         -->
        </plugin>

  這樣就可以了,之后需要確認下本地工程的groupid,artifactid和版本:

 <groupId>guinai</groupId>
 <!-- 古伊奈 --> <artifactId>guinai</artifactId> <version>0.0.1</version>

打包上傳:

  mvn deploy 完成!

  emmmmm.....

  如果你在eclipse下,右鍵pom文件->debug as -> maven build->在goals里填deploy,完成!

  然后去nexus3里搜你自己的包吧,可以發現已經上傳到release庫里了如果是snapshot就在snapshot庫里


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM