Maven建立並管理Web專案(上傳Web專案的API的JAR到Nexus 私服上)
目錄
1.簡介
2.安裝Eclipse Maven外掛
3.用Eclipse建立Maven Web專案
4.配置settings.xml 檔案並下載專案依賴的JAR,並上傳Web專案的api的JAR到Nexus 私服
1.簡介
Maven、Nexus 私服的安裝和配置和Maven的優點在Maven和 Sonatype Nexus私服的安裝、配置及使用入門已經有介紹了,這裡就不在介紹了,今天我們要介紹Maven建立並管理Web專案,方便我們專案的開發和管理。
2.安裝Eclipse Maven外掛
我們要在Eclipse開發Maven專案,所以我們要安裝Maven外掛,我們這裡通過
3.用Eclipse建立Maven Web專案
我們這邊建立Maven Web專案,建立了一個Parent專案然後裡面包含了一個api(包含Entry和services介面)和一個 console(控制層和檢視、services實現等)
第一步我們先建立Parent專案,右擊New-->Maven Project
這邊Packaging選擇 pom
第二步我們建立JAR型別和WAR型別(Packaging選擇JAR型別和WAR型別)
這裡我們建立好Maven Web專案 專案目錄是這樣的
4.配置setting.xml 檔案並下載專案依賴的JAR,並上傳Web專案的api的JAR到Nexus 私服
上面建立好專案後,為我們實現配置setting.xml 檔案並下載專案依賴的JAR,並上傳Web專案的api的JAR到Nexus 私服建立好條件,接下去講是重點之一
第一步,我們要配置settings.xml 檔案,因為settings.xml 告訴要到哪個Nexus
私服所依賴JAR或者上傳到Nexus 私服上的,這個配置
配置settings.xml 檔案,首先在Eclipse上配置關聯我們自己的settings.xml檔案
settings.xml檔案
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>E:\nexus\.m2\repository</localRepository>
<pluginGroups>
<pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<!--maven釋出庫的id-->
<id>releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<!--maven快照庫的id-->
<id>snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
<mirrors>
<mirror>
<id>central.m2</id>
<name>one of the central mirrors</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.6</jdk>
</activation>
<properties>
<!-- 編譯器相關資訊 -->
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
</properties>
<repositories>
<repository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public</url>
<layout>default</layout>
<snapshots>
<checksumPolicy>fail</checksumPolicy>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<checksumPolicy>fail</checksumPolicy>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public/</url>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
</settings>
說明:
1.localRepository 指定本地倉庫儲存路徑,從Nexus 私服上下載JAR下來,儲存的地方。
2.配置遠端倉庫列表 ;id:遠端倉庫唯一標識; name:遠端倉庫名稱 url:遠端倉庫URL。
3.enabled:是否使用這個資源庫下載這種型別的構件 預設值:true ; updatePolicy:指定下載更新的頻率。這裡的選項是:always(一直),daily(每日,預設值),interval:X(這裡X是指分鐘),或者never(從不);checksumPolicy:當Maven驗證構件校驗檔案失敗時該怎麼做fail(失敗)或者warn(告警)
3.activeProfiles 指定被啟用的配置檔案。
第二步:下載專案依賴的JAR
我們在POM.XML中加入要引入的JAR,Maven會自動的從Nexus 私服下載對應的JAR,我們在localRepository 指定本地倉庫儲存路徑下就可以找到對應的JAR
第三步:我們想把我們的傳Web專案的api提供給別人使用時,我們上傳到Nexus 私服上供別人去下載使用,這裡我介紹使用Maven命令上傳,也可以使用手動上傳。
我們在parent專案中POM.XML加入distributionManagement標籤指定Nexus 私服的URL
test-maven-api型別是JAR,我們現在要把這個JAR打包並上傳到Nexus 私服,首先我們先點選test-maven-api專案右擊Run AS->Maven Install
這時JAR打包好了
我們用Maven命令上傳,先點選test-maven-api專案右擊Run AS->runconfiguration 然後Maven Build右擊New 新建並Goals填入clean deploy
然後點選run 執行一下 就可以了,我們在console列印成功並在Nexus 私服上可以檢視得到上傳成功。
我們上傳上去,方便別人去下載,不用我們每次要使用時,在打包給別人使用。
在這整個過程中,我們碰到的一些錯誤
1)我們在上傳JAR時報一個錯誤,就是Nexus 私服的使用者名稱和密碼寫錯了,導致報錯上傳不了
我們在Eclipse關聯的settings.xml中servers中的使用者名稱和密碼寫對就可以。
2)我們在POM.XML引入依賴的JAR包時,版本很多時,我們沒寫版本,這個就會報找不到
這時我們要指定使用了哪個版本,這樣就不會報找不到這個JAR包