日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Nexus创建私服

發(fā)布時間:2024/4/13 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Nexus创建私服 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

使用Nexus創(chuàng)建私服

部署環(huán)境是windowsxp

首先從 http://nexus.sonatype.rog/downloads 下載最新版的Nexus

我們可以根據(jù)個人的需求下載。里面有nexus-webapp-1.9.2.3-bundle.zip等其他系統(tǒng)運行的壓縮文件 或者war包nexus-webapp-1.9.2.3.war。

nexus-webapp-1.9.2.3-bundle.zip 包里面自帶了一個Jetty容器,這樣我們不用另找容器,可以直接啟動運行。

Bundle 安裝方式:

首頁解壓Bundle文件,這時回得到兩個子目錄:

nexus-oss-webapp-1.9.2.3 該目錄包含了Nexus 運行所需要的文件,如啟動腳本、依賴jar包等。

sonatype-work ? 該目錄包含Nexus生成的配置、日志文件、倉庫文件等。其中,第一個目錄是運行Nexus所必須的,而且所有相同版本Nexus實力所包含的該目錄內(nèi)容都是一樣的。而第二個目錄不是必須的,Nexus會在運行的時候動態(tài)創(chuàng)建該目錄,不過他的內(nèi)容對于各個Nexus實例不一樣的,因為不同用戶在不同機器上使用的Nexus會有不同的配置和倉庫內(nèi)容。當用戶需要本分Nexus的時候,默認備份sonatype-work/目錄,因為該目錄包含了用戶特定的內(nèi)容,而nexus-webapp1.9.2.3目錄下的內(nèi)容是可以從安裝包直接獲取的。

如果要啟動nexus需要在nexus-oss-webapp-1.9.2.3\bin\jsw\ 下面選擇對應的系統(tǒng)版本,我的環(huán)境是:windows-x86-32,所以選擇這個目錄這個目錄里面有一些腳本如下:
Installnexus.bat 將Nexus安裝成windows服務

Uninstallnexus.bat 卸載Nexus Windows服務

Startnexus.bat 啟動Nexus Windows 服務

Stopnexus.bat 停止Nexus windos 服務

Pausenexus.bat 暫停Nexus windows 服務

Resumenexus.bat 恢復暫停的 Nexus Windos服務

如果不想每次啟動都使用這些腳本,我可以可以配置成widnwos服務,可以開機自動啟動


在Linux 系統(tǒng)上啟動Nexus也非常方便,例如Unbuntu 32 位系統(tǒng),那么只需要進入到nexus-oss-webapp-1.9.2.3\bin\jsw\linux-x86-32 然后運行如下的命令:

$./nexus console

這時可以看到啟動的命令行輸出,可以使用Ctril+c停止Nexus

除了console之外,nexus的linux腳本還提供了如下命令:

./nexus start: 在后臺啟動Nexus服務

./nexus stop: 停止后臺的Nexus服務

./nexus status : 查看后臺Nexus服務狀態(tài)

./nexus restart: 重新啟動后臺的Nexus服務


Nexus Bundle 默認使用的端口號是:8081,如果啟動服務可以訪問:

http://localhost:8081/nexus

啟動Bundle時可能會出現(xiàn)端口沖突,或者想跟換端口時可以的打開:nexus-oss-webapp-1.9.2.3\conf\plexus.properties 文件里面找到屬性:application-port 按自己的需要改成相應的端口 我的改成4040

這時在訪問的時候地址應該是這樣的:http://localhost:4040/nexus

WAR的方式安裝Nexus

該war包支持主流的web容器,如tomcat 、Classfish、Jetty和Resin

比如tomcat ,把下載好的war放在webapps目錄下 然后運行tomcat就行了,具體看看tomcat資料


登錄Nexus

Nexus默認管理員用戶名和密碼為:admin/admin123

Nexus 內(nèi)置倉庫介紹

Maven Gentral:該殘酷代理Maven中央倉庫,其策略為Release,因此只會下載和緩存中央倉庫中的發(fā)布版本構(gòu)件。

Release:這是一個策略為Release的宿主類型倉庫,用來部署組織內(nèi)部的發(fā)布版本構(gòu)件。

Snapshots:這是一個策略為Snapshot的宿主類型倉庫,用來部署組織內(nèi)部的快照版本構(gòu)件。

3rd party:這是一個策略為Release的宿主類型倉庫,用來部署無法從公共倉庫獲得的第三方發(fā)布版本構(gòu)件。

Apache Snapshots: 這是一個策略為Snapshot的代理倉庫,用來代理Apache Maven倉庫的快照版本構(gòu)件。

Codehaus Snapshots: 這是一個策略為Snapshot的代理倉庫,用來代理Codehaus Maven倉庫的快照版本構(gòu)件。

Google code: 這是一個策略為Release的代理倉庫,用來代理Google Code Maven倉庫發(fā)布版本構(gòu)件。

java.net Maven2:這是一個策略為Release的代理倉庫,用來代理java.net Maven倉庫的發(fā)布版本構(gòu)件

Public Repositories:該倉庫組將上述所有策略為Release的倉庫聚合并通過一致的地址提供服務

Public Snapshot Repositories: 該倉庫組將上述所有的策略為Snapshot的倉庫聚合并通過一致的地址提供服務。(在nexus-oss-webapp-1.9.2.3 這版本中沒有此項)

Nexus倉庫分類概念

Maven可以直接從宿主倉庫下載構(gòu)件;maven也可以從代理倉庫下載構(gòu)件,而代理倉庫會間接地從遠程倉庫下載并緩存構(gòu)件;最后,為了方便,Maven可以從倉庫組下載構(gòu)件,而倉庫組沒有實際內(nèi)容,它會轉(zhuǎn)向其包含的宿主倉庫或者代理倉庫獲得市級構(gòu)件的內(nèi)容。

創(chuàng)建Nexus宿主倉庫

創(chuàng)建一個宿主倉庫首先單擊界面左邊導航欄中的Repositories鏈接,在右邊的面板中,選擇add,接著在下拉菜單中選擇Hosted Repository,就會看到如下圖的配置界面:

填寫倉庫ID Repostory ID ?和倉庫名稱 Repository Name 以及倉庫類型Respository Type ?倉庫的格式 Provider 選擇默認的Maven2 Repository,然后是Repository Policy 讀者可以根據(jù)自己的需要來配置該倉庫是發(fā)布版本構(gòu)件倉庫還是快照版本構(gòu)件倉庫。Defualt Local Storage Location 表示該倉庫的沒哦人存儲目錄,圖中該字段的值為空,待倉庫創(chuàng)建好之后,該值就會成為基于sonatype-work的一個文件路徑,如:E:\nexus-oss-webapp-1.9.2.3-bundle\sonatype-work\nexus\storage

默認的地址倉庫存儲目錄地址。

Access Setting 小組中

  Deployment Policy用來配置該倉庫的部署策略,選項有只讀(禁止部署)、關(guān)閉重新部署(同一構(gòu)件只能部署一次)以及允許重新部署。

  Allow file Browsing 表示是否允許瀏覽倉庫內(nèi)容

  Include in Search 表示是否對該倉庫進行索引并提供搜索

  Publish URL 用來控制是否通過URL提供服務,如果選擇false當訪問倉庫的地址時,會得到HTTP404 Not Found 錯誤

  Not Found Cache TTL 表示當一個文件沒有找到后,緩存這一不存在的信息的時間。以默認值1440分鐘為例,如果某文件不存在,那么在之后的1440分鐘內(nèi),如果Nexus再次得到該文件的請求,它將直接返回不存在的信息,而不會查找位呢間系統(tǒng)。


創(chuàng)建Nexus代理倉庫


操作和創(chuàng)建宿主倉庫類似,主要Repository Type 的值改為proxy 這時看到如下圖:

對于代理倉庫來說,最重要的是遠程倉庫地址即

Remote Storage Location,用戶必須輸入有效的值

Download Remote Indexes 表示是否下載遠程倉庫的索引

Checksum Policy 配置校驗出錯時的策略,用戶可以選擇忽略、記錄警告信息或者拒絕下載。

Authentication 當遠程倉庫需要認證的時候這里的時候,這里的Authentication 配置就能派上用處。

Artifact Max Age 構(gòu)件緩存最長的時間,對于快照版本來說 Artifact Max Age 默認值為 -1,表示構(gòu)件混存后就一直保存著,不在重新下載,對于快照版來說默認值為1440分鐘表示每隔

Metadata Max Age 倉庫元數(shù)據(jù)文件緩存的最長時間

Http Request Setting 和 Override HTTP proxy Setting 其中前者用來配置Nexus訪問遠程倉庫時HTTP請求參數(shù),后者用來配置HTTP代理

創(chuàng)建Nexus倉庫組 ? ?

創(chuàng)建倉庫組同其他的一樣步驟是在選擇add時選擇下拉框中的Repository Group 就會看到如下的:

配置中的信息同其他的一樣,倉庫組中沒有Release 和Snapshot ,這不同于宿主倉庫和代理倉庫。在配置界面中可以選擇Nexus中的倉庫,將其聚合成一個虛擬的倉庫組,注意,倉庫組所包含的倉庫的順序決定了倉庫組便利其所含倉庫的次序,因此最好將常用的倉庫放在前面,當用戶從倉庫組下載構(gòu)件的時候,就能經(jīng)快的訪問到包含構(gòu)件的倉庫。

Nexus的索引與構(gòu)件搜索

需要搜索Maven 中央庫,首先需要設置Nexus中的Maven Central 代理倉庫下載遠程索引 如下圖:

Download Remote Indexes 屬性設置為true 默認為false

true是開啟,false是關(guān)閉 由于中央倉庫內(nèi)容比較多,因此其索引文件比較大,需要查看下載如何了,我們可以單擊界面左邊導航欄中的 Scheduled Tasks 鏈接后,就可以看到系統(tǒng)調(diào)度的任務其狀態(tài)為 runing,在說哦因下載完畢之后,該任務就會消失。

Scheduled Tasks 界面:

配置Maven 從Nexus下載構(gòu)件

當需要為項目添加Nexus私服上的public倉庫時,可以在項目pom.xml文件配置 ?代碼如下:

<project>

<repositories>
<repository>
<id>nexus</id>
<url>http://http://localhost:4040/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://localhost:4040/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>

</project>

這樣的配置只對當前的Maven項目有效,實際應用中,我們往往想要通過一次配置就完成能讓本機所有的Maven項目都使用自己的Maven私服。這時配置本地倉庫setting.xml 代碼如下:

<settings>

<mirrors>

<mirror>
<id>central</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:4040/content/groups/public/</url>
</mirror>
</mirrors>

<profiles>
<profile>
<id>JDK1.6</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.6</jdk>
</activation>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
</properties>
</profile>
<profile>
<id>central</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>central</activeProfile>
<activeProfile>JDK1.6</activeProfile>
</activeProfiles>
</settings>


使用Maven 部署構(gòu)件至Nexus

日常開發(fā)生成的快照版本構(gòu)件可以直接部署到Nexus中策略為Snapshot的宿主倉庫中,項目正式發(fā)布的構(gòu)件則應該部署到Nexus中策略為Release的宿主倉庫中。POM.XML配置如下:

<project>
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Releases Repository</name>
<url>http://localhost:4040/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshots Repository</name>
<url>http://localhost:4040/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
</project>


Nexus 的倉庫對于黎明用戶是只讀的為了能夠部署構(gòu)件,還需要在setting.xml 中配置認證信息代碼如下:

<servers>

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


轉(zhuǎn)載于:https://blog.51cto.com/wangyx/1369355

總結(jié)

以上是生活随笔為你收集整理的使用Nexus创建私服的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。