之前搭了個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庫里