使用Maven下載依賴包及使用Nexus搭建私服
在項目的搭建過程中,所以很多時候我們需要上網去一個一個找項目的依賴包。這個過程確實是一個效率很低而且很讓人惱火的事情。
很多時候能找到對應的官網下載固然是好,但是大部分時候我們都只能在一些第三方網站上下載未知
的版本。
所以我們需要一個Maven
。
Maven使用
Maven核心自帶的遠程倉庫,包括了絕大部分開源構件。我們可以很方便通過Maven提供的坐標機制便捷的下載到你心儀的依賴包。
Maven下載、安裝
下載地址: http://maven.apache.org/download.html
配置環境變量 系統變量: path:
%MAVEN_HOME%\bin;
MAVEN_HOME
G:\maven\apache-maven-3.3.9-bin\apache-maven-3.3.9
cmd:mvn -version 查看安裝是否成功
配置中央倉庫:解壓安裝路徑下 apache-maven-3.3.9\lib maven-model-builder-3.3.9.jar
m2eclipse下載、安裝
這裏我已經默認了你安裝了JDK
並且安裝了eclipse
m2eclipse
下載是eclipse
下一款Maven插件
打開eclipse: help --> Install New SoftWare --> add ?
`Name`:m2e `Location`: *http://m2eclipse.sonatype.org/sites/m2e*
如果一直停留pending可以將Contact all update sites during install to find required software
取消勾選
新建一個Maven項目
eclipse:new --> Maven --> MavenProject
Tips:可能會卡住,因為Maven會生成項目骨架,天朝的網絡下載是硬傷。Properties
參數archetypeCatalog=internal
添加要下載的地址
這裏以Spring
為例:
- 你可以在官網download處找到
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.2.RELEASE</version> </dependency> </dependencies>
- 你也可以使用倉庫搜索網站:
1.1 Sonatype Nexus
http://repository.sonatype.org/
2.2 Jarvana
https://www.jarvana.com/ jarvana/
3.3 MVNbrowser
http://www.mvnbrowser.com
4.4 MVNrepository
http://mvnrepository.com
然後將pom.xml
中的對應部分替換掉稍加等待,你就可以在項目中看到你需要的依賴包。
下載路徑更換
本地倉庫默認路徑:C:\Users\UserName.m2\repository
修改本地倉庫的路徑:apache-maven-3.3.9\conf\settings.xml
如:
<localRepository>G:/maven/repository</localRepository>
下載Tips
下載json-lib
<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.2</version>
</dependency>
無法下載 要改成
<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.2</version>
<classifier>jdk15</classifier>
</dependency>
Maven 學習
自定義Jar
maven項目:編寫主代碼
默認主代碼目錄:src/main/java
運行主代碼:根目錄
//clean:清理輸出目錄target/
//compile:將主代碼編譯到target/classes
$ mvn clean compile
maven項目:編寫測試代碼
默認測試代碼目錄:src/test/java
運行測試代碼:
$ mvn clean compile
打包和運行
maven會在打包之前執行編譯、測試等操作。
打包和運行:
$ mvn clean install
maven 坐標
maven 的一大功能是管理項目依賴,為了能自動化的解析任意一個Java構件(每個jar包可以當做一個構件)。maven使用坐標將它們唯一標示,每個構件都有一組坐標。
坐標的定義是根據元素:groupId
、artifactId
、version
、packaging
和classifier
- groupId:Maven項目隸屬的實際項目
- artifactId:實際項目中的一個Maven項目
- version:該Maven當前所在的版本
- packaging:Maven項目的打包方式
- classifier:構件輸出的一些附屬構件
坐標和路徑大致的對應為:
groupId/ artifactId/ version/ artifactId-version.packaging
maven 倉庫
maven倉庫可以分為兩類:本地倉庫
和遠程倉庫
遠程倉庫也可以分為中央倉庫
、私服
和其他公共庫
。
中央倉庫是Maven核心自帶的遠程倉庫,包括了絕大部分開源構件。
私服是一種特殊的遠程倉庫,為了節省帶寬和時間在局域網架設一個私有的倉庫服務器,代理所有的遠程倉庫,內部的項目也可以部署到私服上供其他項目使用。
依賴下載機制
當maven需要構件的時候,會先查看本地倉庫,如果有直接使用。如果不存在會查看是否有最新版本的。如果還不存在則會去遠程倉庫下載需要的構件。
私服的部署
私服是一種特殊的遠程倉庫,它是架設在局域網上的倉庫服務,私服代理廣域網上的遠程倉庫。私服一大作用就是可以部署第三方構件,供團隊人員交流和使用。
Nexus搭建私服
Nexus下載、安裝
下載地址:https://nexus.sonatype.org/downloads/
安裝完成了訪問:http://localhost:8081/nexus 即可看到首頁。
修改監聽端口和ip
在安裝目錄下:Nexus\nexus-pro-trial-installer-2.13.0-01\conf\nexus.properties
application-port
: nexus的監聽端口
application-host
: nexus的監聽ip地址,如果使用nginx或apache等其他http代理,可將該ip地址修改為localhost
或127.0.01
,增強安全性.
登錄
默認賬號:admin
密碼:admin123
倉庫屬性
倉庫類型(type)
- grounp(倉庫組)
- hosted(宿主)
- peoxy(代理)
- virtual(虛擬)
倉庫策略(Policy):
- Release(發布版本)
- Snapshot(快照版本)
配置Maven從Nexus下載構件
<project>
...
<properties>
<repository>
<id>nexus</id>
<name>Nexus</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</properties>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
...
</project>
使用Maven下載依賴包及使用Nexus搭建私服