对于某个jar包,Maven如何判断远程仓库的jar包比本地仓库中的相应jar包要新呢?当我重新部署到私服上以后,下次执行maven命令的时候会自动下载最新的jar包,那么maven怎么知道要更新呢?

     对于这个问题,在网上也没找到十分确切的答案。

     所以,我大胆猜测,可能是通过时间戳或者校验和之类的来判断jar包的新旧程度。

    猜想1:时间戳

    当部署的时候,记录一个当前时间戳,之后我们下载到本地仓库的jar的时间戳就是这个jar包最后一次更新的时间戳。此后,重新打包部署这个jar包,时间戳也随之改变,这时本地jar包的时间戳就比远程jar包的时间戳下,所以会自动更新。

    猜想2:校验和(checksum)

    部署完后生成文件的校验和,如果本地jar包的校验和与远程的校验和不一致,则更新。


    以上,纯属个人猜想,如有更确切的答案,望不吝赐教。