文章目錄
搭建MAVEN私服
爲什麼要用私服
通過私服MAVEN能夠更有效的管理自己的依賴包,像阿里雲的短信jar包等第三方的依賴包,很多公服是沒有的,在比如MAVEN是不支持多個倉庫下載的,但是可以配置多個倉庫。在私服上就可以解決以上問題。
怎麼搭建?
我們使用Nexus
來搭建我們的私有倉庫。
Nexus
下載
windows的用戶可以通過我上傳的資源下載:
https://download.csdn.net/download/qq_31403321/11457242
官網下載地址:https://www.sonatype.com/nexus-repository-oss
官網速度比較慢,windows用戶可以通過我上傳的資源進行下載。
安裝
全部解壓,注意要保證2個文件夾始終在同一層目錄上。
配置
默認的端口號8081
,可以在nexus-3.18.0-01\etc\nexus-default.properties
文件中修改
端口號
application-port=8081
host
application-host=0.0.0.0
運行
下面爲windows運行步驟,其他平臺可以參考
- 進入
nexus-3.18.0-01\bin
目錄下,你的後面版本可能和我的不一樣 - 通過命令窗口執行以下命令
nexus.exe/run
- 當看到
state change RUNNING -> WAITING (OK)
這種提示就代表啓動成功了。
運行成功後可以在瀏覽器上輸入http://127.0.0.1:8081即可看到效果。
第一次啓動,請根據嚮導一步步來,裏面會告知密碼在哪個文件中。
添加第三方倉庫
進入後 登錄賬號:admin
密碼:你自己設置的密碼
我們以阿里云爲例,點擊設置,選擇Repositories,進入後創建倉庫。
創建類型選擇maven2(proxy)
阿里雲倉庫地址:http://maven.aliyun.com/nexus/content/groups/public/
然後回到主界面點擊maven-public
倉庫,這個倉庫就是我們在項目需要使用到的中央倉庫了。
把你添加的倉庫移到右邊,就可以了。別忘記點擊保存
添加本地倉庫
倉庫類型:
- maven2(group) 倉庫組,集成多個倉庫,參考我們私服的中央倉庫
- maven2(proxy) 代理倉庫,就是我們剛剛添加阿里雲的倉庫類型。
- maven2(hosted) 本地倉庫,也就是我們把自己的依賴包上傳的倉庫。
在上面的步驟下,我們選擇maven2(hosted)
,除了名字必填,還有一項值得注意。
如果選擇Release
,那麼上傳的依賴包版本必須爲Release
。
注意
別忘了,把我們創建的倉庫,添加到中央倉庫中去哦。
MAVEN配置
settings文件配置
在 Maven 中settings.xml
文件,找到servers
標籤。在該標籤中添加一下配置
<server>
<id>SNAPSHOT</id>
<username>admin</username>
<password>你的密碼</password>
</server>
<server>
<id>Releases</id>
<username>admin</username>
<password>你的密碼</password>
</server>
項目pom文件配置
在項目中pom.xml
文件下,添加以下節點:
repository>id,要和上面的id一致,否則會上傳失敗
<!--使用指定倉庫-->
<repositories>
<repository>
<id>nexus</id>
<url>http://localhost:8081/repository/maven-public/</url>
</repository>
</repositories>
<!--上傳的倉庫地址-->
<distributionManagement>
<repository>
<id>Releases</id>
<name>Releases</name>
<url>http://localhost:8081/repository/3rd_part/</url>
</repository>
<snapshotRepository>
<id>SNAPSHOT</id>
<name>SNAPSHOT</name>
<url>http://localhost:8081/repository/loc_SNAPSHOT/</url>
</snapshotRepository>
</distributionManagement>
上傳
- 單模塊
在當前項目路徑下,執行mvn deploy
- 多模塊
在父模塊目錄下,執行mvn deploy
自定義項目骨架
什麼是archeType
在我們使用IDEA創建項目的時候,可以快速創建基本的模板,而這些模板就是使用archeType生成的。
創建archetype
假如我們有個Maven項目,他的項目結構和我們以往的都差不多,那麼爲了下次直接能夠生產該項目結構,則可以把該項目創建一個archetype
,方便我們下次自動生成。
我們可以通過2中方法來創建模板。
手動創建
1.創建MAVEN項目
修改項目中的pom.xml
文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>my.groupId</groupId>
<artifactId>my-archetype-id</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>maven-archetype</packaging>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>3.1.1</version>
</extension>
</extensions>
</build>
</project>
2.創建archetype描述
這一步主要就是用來生成的代碼。首先確保創建好了resources
文件夾
在src/main/resources/META-INF/maven/
路徑下,創建以下文件
文件名不能修改
archetype-metadata.xml
<archetype-descriptor
xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0
http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="my-archetype-id">
<fileSets>
<fileSet filtered="true" packaged="true">
<directory>src/main/java</directory>
</fileSet>
<fileSet>
<directory>src/test/java</directory>
</fileSet>
</fileSets>
</archetype-descriptor>
這裏的name="quickstart
中的quickstart要對應項目中的artifactId
3.創建文件模板
在resources/archetype-resources
中,需要先添加pom.xml
文件。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<packaging>jar</packaging>
<name>${artifactId}</name>
<url>http://www.myorganization.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
隨後可以在需要地方創建java代碼。
總的項目結構如下圖:
4.生成archetype
在項目路徑下輸入命令: mvn install
完成生成即可。
插件創建(推薦)
使用插件的方式創建是簡單也是最快速的一種方式。
- 創建項目,或者使用以前的項目
- 進入到該項目中,輸入命令
mvn archetype:create-from-project
- 命令執行完後,進入到
target/generated-sources/archetype
文件夾中 - 在該文件中,執行命令
mvn install
這種插件的方式非常讓人省心,等待生成好後,即可以使用了
使用自定義archetype
命令:mvn archetype:generate -DarchetypeCatalog=local
意思是生成項目,從本地獲取到模板
回車以後,會看到本地的模板列表,輸入要用的模板即可。
參考文獻
http://maven.apache.org/guides/mini/guide-creating-archetypes.html
http://maven.apache.org/archetype/maven-archetype-plugin/advanced-usage.html