国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Maven倉庫搭建(一):一臺HTTP服務器即可(Tomcat、Apache或Nginx)

2019-11-11 02:50:35
字體:
來源:轉載
供稿:網友

轉載自:http://blog.csdn.net/xiao__gui/article/details/52625660

作為一個java老程序員,多多少少都會有一些自己寫的各種常用代碼,如果每寫一個項目都把這些代碼拷貝一份到新項目比較麻煩的,打成jar包引入到項目會方便很多。如果想讓這些jar包能通過Maven引入進項目,那就需要搭建Maven倉庫。

說到Maven倉庫搭建,很多人第一想到的一般都是Nexus。Nexus的確是非常好的方案,但是總歸需要一臺服務器,一臺服務器需要花錢買和花時間維護,成本比較大。Nexus一般是公司用的比較多,個人不建議使用。

實際上除了Nexus外,還有很多Maven倉庫的搭建方案。例如可以將Maven倉庫搭建在GitHub等代碼托管平臺上,免費。甚至也可以搭建在七牛云、又拍云、阿里云對象存儲OSS、騰訊云對象存儲服務COS等云存儲上,加上CDN可以有很快的下載速度,雖然云存儲是收費的,但是一般都有免費額度,例如一個月10G流量,通常來說已經很夠用了。

本篇博文主要內容是使用HTTP服務器搭建Maven倉庫,用于學習Maven倉庫搭建原理,并不是想替代Nexus。在本系列接下來的博文中會講到如何用代碼托管平臺(如GitHub)、云存儲平臺(如七牛、阿里云OSS)來搭建Maven倉庫。

Maven倉庫搭建原理

首先,Maven有個中央倉庫:http://repo.maven.apache.org/maven2/,里面包含很多常用的開源項目的包。

在自己項目的pom.xml文件中加入一個dependency,例如sPRing框架的一個包:

<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.6.RELEASE</version></dependency>

Maven會將倉庫地址、groupId、artifactId、version四個部分拼接起來,得到最終的jar包下載地址: http://repo.maven.apache.org/maven2/org/springframework/spring-core/4.1.6.RELEASE/spring-core-4.1.6.RELEASE.jar

當然,除了jar包外還有一些其他需要的文件,具體可以查看目錄: http://repo.maven.apache.org/maven2/org/springframework/spring-core/4.1.6.RELEASE/

這里寫圖片描述

如果是自己的或公司內部使用的jar包,在中央倉庫肯定是沒有的,這就需要配置一個自己的repository,指定包的下載地址。

<repository> <id>my-repository</id> <url>http://115.159.216.216:8080/</url></repository>...<dependency> <groupId>com.xxg.cloudstorage</groupId> <artifactId>cloudstorage</artifactId> <version>1.0.0</version></dependency>

同理,此時Maven會根據repository配置的url生成文件下載地址: http://115.159.216.216:8080/com/xxg/cloudstorage/cloudstorage/1.0.0/cloudstorage-1.0.0.jar

HTTP服務器搭建Maven倉庫

有了上面的理論基礎,用HTTP服務器搭建Maven倉庫就不難了,無非是把所需要的文件按照以上規則放到對應的目錄下,HTTP服務器提供下載地址。

首先需要一臺服務器,再安裝一個HTTP服務器軟件,如Tomcat、Apache、Nginx等,任選其一即可。

例如使用Java程序員喜聞樂見的Tomcat,使用Tomcat的webapps/ROOT目錄作為Maven倉庫的文件存放目錄。

jar包部署到倉庫

如果想把自己的jar包部署到倉庫上供自己或別人引用,只有jar文件是不夠的,里面上面Spring倉庫的目錄可以看到除了jar,還有pom、md5、sha1等各種文件,這些文件都可以通過mvn deploy命令來生成。

方法一:手動部署

在項目的pom.xml中添加:

<distributionManagement> <repository> <id>file-repository</id> <url>file://D:/abc</url> </repository></distributionManagement>

運行mvn deploy命令可以看到在D:/abc目錄下生成了目錄和各種文件。將整個目錄上傳到Tomcat的webapps/ROOT,此時在瀏覽器上訪問以下地址即可通過HTTP直接下載jar包: http://115.159.216.216:8080/com/xxg/cloudstorage/cloudstorage/1.0.0/cloudstorage-1.0.0.jar

方法二:SSH自動部署

如果服務器是linux服務器,還可以直接通過mvn deploy通過scp方式將整個目錄直接傳到服務器的Tomcat的webapps/ROOT目錄下,省去手動上傳文件的步驟。

pom.xml配置服務器地址和文件路徑:

<distributionManagement> <repository> <id>my-server</id> <url>scp://115.159.216.216/home/Ubuntu/coder/apache-tomcat-8.5.5/webapps/ROOT</url> </repository></distributionManagement><build> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh</artifactId> <version>2.10</version> </extension> </extensions></build>

在Maven的settings.xml中配置服務器的SSH用戶名和密碼:

<server> <id>my-server</id> <username>root</username> <passWord>your-password</password></server>

Maven倉庫使用

部署完成后,已經可以直接下載jar包,那么就可以在其他項目中通過dependency加入這個包的依賴了。

<repository> <id>my-repository</id> <url>http://115.159.216.216:8080/</url></repository>...<dependency> <groupId>com.xxg.cloudstorage</groupId> <artifactId>cloudstorage</artifactId> <version>1.0.0</version></dependency>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都匀市| 罗城| 万荣县| 上杭县| 阳新县| 区。| 北海市| 通海县| 泰兴市| 新源县| 新化县| 石阡县| 惠州市| 甘德县| 青州市| 吉隆县| 余姚市| 平远县| 雅安市| 开江县| 六枝特区| 托里县| 烟台市| 普陀区| 育儿| 秦安县| 重庆市| 西华县| 牡丹江市| 应用必备| 蒙山县| 台湾省| 磐石市| 百色市| 杭锦后旗| 凤庆县| 正安县| 宣城市| 扶沟县| 博客| 威海市|