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爲例說明:
由上圖能夠看出: html
一、spring-jdbc-4.0.0.RELEASE.jar.sha1文件中的值與nexus上的SHA1 checksum一致;
二、對spring-jdbc-4.0.0.RELEASE.jar用md5sum命令得到的MD5 checksum也與nexus上的MD5 checksum一致;
三、對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庫進行搜索,結果以下圖: