maven私服nexus之校驗和(checksums)

maven是開源的項目構建工具。

nexus可以用來搭建maven私服。

checksum(校驗和):用於校驗數據的完整性和準確性。

maven nexus中可以查看構件的Checksums:SHA1 checksum和MD5  checksum。

以spring-jdbc-4.0.0.RELEASE.jar爲例說明,其maven dependency如下:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.0.0.RELEASE</version>
</dependency>

spring-jdbc-4.0.0.RELEASE.jar的Artifact Information如下圖:

 

由上圖可以看出 Checksums分別有SHA1和MD5這兩種哈希(Hash)加密的校驗和(checksum):

SHA1 checksum(40個字符)爲: d169c669b85f26f06c5dedb19bfdd169e4e38c3a

MD5  checksum(32個字符)爲: 8a5d45e8bf5b05a425fef45069ed5d3c

在linux上,可以通過sha1sum和md5sum命令生成校驗和。

以linux服務器的本地maven倉庫中spring-jdbc-4.0.0.RELEASE.jar爲例說明:

 

由上圖可以看出:

1、spring-jdbc-4.0.0.RELEASE.jar.sha1文件中的值與nexus上的SHA1 checksum一致;

2、對spring-jdbc-4.0.0.RELEASE.jar用md5sum命令獲得的MD5  checksum也與nexus上的MD5  checksum一致;

3、對spring-jdbc-4.0.0.RELEASE.jar用sha1sum命令獲得的SHA1 checksum也與nexus上的SHA1 checksum一致;

上面每條都證明spring-jdbc-4.0.0.RELEASE.jar是完整並準確的。

maven hosted(宿主)類型倉庫常用來部署組織內部的或第三方的構件。

nexus內置的hosted 類型的倉庫有:Releases、Snapshots和3rd party:

Releases: 一個策略爲Release的宿主類型倉庫,用來部署組織內部的發佈版本構件; Snapshots: 一個策略爲Snapshot的宿主類型倉庫,用來部署組織內部的快照版本構件; 3rd party: 一個策略爲Release的宿主類型倉庫,用來部署無法從公共倉庫獲得的第三方發佈版本構件。

如果它們的 Deployment Policy設置爲Allown Redeploy,則可以覆蓋部署構件;

這樣,假設重新部署了修改過的構件,則它的checksums也隨之發生變化,

可以根據checksums來判斷本地maven倉庫的緩存是否與maven私服上的構件一致。

此外,maven nexus可用 SHA1 checksum進行搜索:

點擊左側的導航欄的Advanced Search(高級搜索),在下拉框中選擇Checksum Search(校驗碼搜索)

下面通過spring-jdbc-4.0.0.RELEASE.jar.sha1的內容在 開源中國maven庫進行搜索,結果如下圖:

 

在maven中央倉庫(Central Repository)搜索,結果如下圖:

(adsbygoogle = window.adsbygoogle || []).push({});

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章