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({});