一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

maven的部署、遇到的問題和心得體會(huì)

 richsky 2013-10-24

部署maven的一些要點(diǎn)、遇到的問題和心得體會(huì)

(圖片看不了,可以下載doc文件)

一、   maven環(huán)境的搭建

1、 下載并配置maven可做可不做)

1)到http://maven.下載maven的最新版本,并解壓到某一目錄(假設(shè)是d:\apache-maven);

 

2)配置系統(tǒng)環(huán)境變量:PATH里面加上d:\apache-maven\bin

3)配置JAVA_HOMEjdk目錄

4)在命令行上輸入 mvn -version; 回車,如看到下面信息表示安裝成功:

 

5)在命令行上輸入 mvn help:system; 回車,會(huì)在當(dāng)前用戶目錄下(win7C:\Users\用戶名,xpc:\documents and settings\用戶名),建立.m2目錄。

 

2、 Eclipse集成maven

Update sitehttp://m2eclipse./sites/m2e,全選安裝就好了,重啟eclipse.

這樣就安裝了eclipse集成的maven插件,但建議使用在第一步下載maven,做法如下:進(jìn)入Preferences——》maven——》Installations,點(diǎn)擊“Add”添加maven的解壓路徑。

 

 

3、建立settings.xml文件

如果沒有做第一部操作,需要自己在當(dāng)前用戶目錄下建立.m2目錄。之后在.m2目錄下建立setting.xml文件.注意: maven基本使用指南_小飛俠版1.doc》這個(gè)文檔的配置是錯(cuò)誤的,mvn install時(shí)會(huì)提示:連接不了180.200.3.76:8081的錯(cuò)誤。是76服務(wù)器的maven私服沒有建好的原因。

以下是我的配置,這里需要建立一個(gè)私服,在第四點(diǎn)介紹倉庫時(shí)會(huì)介紹。

<settings xmlns="http://maven./SETTINGS/1.0.0"

          xmlns:xsi="http://www./2001/XMLSchema-instance"

          xsi:schemaLocation="http://maven./SETTINGS/1.0.0

                      http://maven./xsd/settings-1.0.0.xsd">

  <localRepository>F:\maven</localRepository>

  <profiles>

    <profile>

             <id>dev</id>

      <repositories>

            <repository>

                                  <id>releases</id>

                                         <url>http://localhost:8888/nexus-2.0.3/content/repositories/releases</url>

                                         <releases><enabled>true</enabled></releases>

                         <snapshots><enabled>true</enabled></snapshots>

                         </repository>      

        <repository>

         <id>central</id>

         <name>Central</name>

         <url>http://localhost:8888/nexus-2.0.3/content/repositories/central/</url>

         <releases><enabled>true</enabled></releases>

         <snapshots><enabled>true</enabled></snapshots>

        </repository>

      </repositories>

    </profile>

  </profiles>

  <activeProfiles>

    <activeProfile>dev</activeProfile>

  </activeProfiles>

         </settings>

其中下面標(biāo)注為紅色的,需要修改為自己的一個(gè)本地目錄,以后所有的jar包都會(huì)放在這個(gè)下面.

我們將項(xiàng)目所需要用到除源代碼之外的東西(如jar包,tomcat,script等都放在上面)通過這個(gè)文件,MAVEN會(huì)從服務(wù)器會(huì)拉取jar包到本地,如果服務(wù)器上的包有更新,也會(huì)自動(dòng)去更新,這樣,當(dāng)框架有新的版本出現(xiàn)時(shí),不再需要我們手動(dòng)去重新添加jar包這么麻煩。

 

二、網(wǎng)廳環(huán)境的搭建(我配置的是南昌網(wǎng)廳,遇到錯(cuò)誤沒有成功運(yùn)行)

1、  檢出entity、basejava project  ,bizejb project ,web為動(dòng)態(tài)網(wǎng)頁工程,scriptjavascript project。都有紅叉叉,沒事,繼續(xù)下面的步驟后就好了。

2、  檢出完成后對(duì)每個(gè)工程進(jìn)行添加maven-enable依賴管理。

         選中項(xiàng)目右鍵“Maven—》Enable Depandency management”,彈出以下界面:

 

這里需要設(shè)置maven的坐標(biāo),可以參考第四點(diǎn)的坐標(biāo)。Group ID使用com.maywide.ibhartifact Id是構(gòu)件的id,設(shè)置為項(xiàng)目的名稱,version不用管。Packaging除了web projectwar外,其他選jar。

3、  依賴管理。打開項(xiàng)目的pom.xml文件添加依賴項(xiàng)。如biz_nanchang的依賴配置如下:

<dependencies>

    <dependency>

      <groupId>com.maywide.ibh</groupId>

      <artifactId>base</artifactId>

      <version>0.0.1-SNAPSHOT</version>

    </dependency>

    <dependency>

      <groupId>com.maywide.ibh</groupId>

      <artifactId>entity</artifactId>

      <version>0.0.1-SNAPSHOT</version>

    </dependency>

    <dependency>

      <groupId>com.maywide.ibh</groupId>

      <artifactId>lib95</artifactId>

      <version>1.0</version>

    </dependency>

    <dependency>

      <groupId>com.maywide.ibh</groupId>

      <artifactId>lib96</artifactId>

      <version>1.0</version>

</dependency>

         添加了對(duì)base、entity項(xiàng)目的依賴。其中lib95、lib96privatelibjar包。我上傳到私服時(shí)把它命名成這樣了。Baseentity項(xiàng)目也需要添加對(duì)lib的依賴項(xiàng),在私服需要一個(gè)個(gè)jar包上傳,所以需要一個(gè)個(gè)的添加依賴,lib94個(gè)jar吧,慢慢加唄。因?yàn)?span style="font-family: Calibri;">maven的依賴具有傳遞性的,所以biz_nanchang項(xiàng)目不需要添加對(duì)libjar包的依賴。同理,web_nanchang項(xiàng)目只需要添加對(duì)biz_nanchang的依賴就可以了。

         之后選擇mvn install編譯。

3、把biz_nanchangweb_nanchang項(xiàng)目的jdk改成1.6。進(jìn)行maven下的操作時(shí)經(jīng)常會(huì)把jdk給成1.5的,要檢查一下。

 

4、添加maven的依賴庫到Web Deployment Assembly。網(wǎng)上說要這樣做的,防止找不到jar包,不過這一步我沒體現(xiàn)到它的用處。

 

 

5、Web工程右鍵->Run as->Maven build,這時(shí)會(huì)跳出一個(gè)頁面:如圖:

 

 

goals輸入:tomcat:run-war

 

VM參數(shù):添加

 -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

點(diǎn)擊Apply,之后run就可以執(zhí)行了。但期間遇到錯(cuò)誤2、錯(cuò)誤3和錯(cuò)誤4。錯(cuò)誤4沒有解決導(dǎo)致網(wǎng)站無法運(yùn)行。

 

三、我掌握的maven的一下知識(shí)點(diǎn)。

1、坐標(biāo)

         Maven把項(xiàng)目作為構(gòu)件,每個(gè)構(gòu)件定義一個(gè)坐標(biāo),由于區(qū)分其他的構(gòu)件,配置依賴時(shí)只需加入這個(gè)坐標(biāo),maven會(huì)先到本地倉庫查找該構(gòu)件,找不到就到遠(yuǎn)程倉庫查找。

         坐標(biāo)如下:

         GroupId:定義當(dāng)前maven項(xiàng)目所屬的實(shí)際項(xiàng)目。例如網(wǎng)廳項(xiàng)目使用com.maywide.ibh

         ArtifactID:構(gòu)件的ID,一個(gè)project、模塊的id。

         Version:版本號(hào)。

         Packaging:打包的方式。默認(rèn)是jar。Web project需要選擇war。

 

2、maven的依賴<dependency>標(biāo)簽里設(shè)置,需輸入構(gòu)件的坐標(biāo)。Maven是傳遞依賴的。

3、倉庫

    倉庫是存儲(chǔ)構(gòu)件的地方。Maven有本地倉庫和遠(yuǎn)程倉庫之分。

    1本地倉庫

    setting.xml<localRepository>F:\maven</localRepository>里面配置本地倉庫的位置 ,項(xiàng)目所需的構(gòu)件會(huì)被下載到該目錄。如網(wǎng)廳項(xiàng)目,我們可以打開該目錄F:\maven,可以進(jìn)入com文件夾—》maywinde文件夾—》ibh文件夾,看到我們的base、entitybiz等項(xiàng)目。

       2遠(yuǎn)程倉庫

       遠(yuǎn)程倉庫分為中央倉庫和私服。

       中央倉庫是全世界共享的一下常見的構(gòu)件。

       私服是一家公司、企業(yè)自己建的用于存儲(chǔ)構(gòu)件的的一個(gè)maven服務(wù)器,還有它也起到代理中央倉庫的作用。目前最多人使用的是用nexus搭建maven私服。

 

私服的倉庫分成4類:group(倉庫組)、hosted(宿主)、proxy(代理)和虛擬(virtual)。Nexus默認(rèn)已經(jīng)有中央倉庫的代理了。只需把下面提供的url配置到setting.xml文件了。

 

         我們要使用到的是宿主倉庫,用于存放項(xiàng)目的jar包。Maven提供Releases倉庫用于存放發(fā)布版本的構(gòu)件;Snapshots存放快照版本的構(gòu)件;3rd party存放第三方構(gòu)件。

         選擇一個(gè)倉庫,可以進(jìn)入以下界面上傳構(gòu)件:

 

 

四、遇到的問題和解決

錯(cuò)誤1 : [ERROR] Failed to execute goal on project biz_zhuhai: Could not resolve dependencies for project biz_zhuhai:biz_zhuhai:jar:0.0.1-SNAPSHOT: Failed to collect dependencies for [com.maywide.ibh:lib345:pom:1.0 (compile)]: Failed to read artifact descriptor for com.maywide.ibh:lib345:pom:1.0: Could not transfer artifact com.maywide.ibh:lib345:pom:1.0 from/to releases (http://localhost:9888/nexus-2.0.3/content/repositories/releases): Connection to http://localhost:9888 refused: Connection refused: connect -> [Help 1]

解決:這是配置的url有錯(cuò)誤或者是私服沒有配好,導(dǎo)致構(gòu)件下載時(shí)出錯(cuò)。如果沒有jar包需要在私服里下載,可以不配置私服的,也就是可以把setting.xmlprofiles里的東西全部刪除的。

 

錯(cuò)誤2:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project web_nanchang: There are test failures.

[ERROR]

[ERROR] Please refer to E:\maven\web_nanchang\target\surefire-reports for the individual test results.

 

    解決:這是因?yàn)闇y(cè)試代碼時(shí)遇到錯(cuò)誤,它會(huì)停止編譯。只需要在pom.xml<project>里添加以下配置,使得測(cè)試出錯(cuò)不影響項(xiàng)目的編譯。

<build>

    <plugins>

      <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-surefire-plugin</artifactId>

        <configuration>

          <testFailureIgnore>true</testFailureIgnore>

        </configuration>

      </plugin>

    </plugins>

 </build>

 

         錯(cuò)誤3

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project web_nanchang: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]

[ERROR]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

[ERROR]

[ERROR] For more information about the errors and possible solutions, please read the following articles:

    解決mavenweb項(xiàng)目默認(rèn)的webroot是在src\main\webapp。如果在此目錄下找不到web.xml就拋出以上的異常。解決方法在pom.xml加入以下的配置。紅色背景字體改成你網(wǎng)站的根目錄。

<build>
<finalName>simple-webapp</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<webResources>
<resource>
<!-- this is relative to the pom.xml directory -->
<directory>WebContent</directory>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>

 

錯(cuò)誤4 嚴(yán)重: The web application [/web_nanchang] registered the JBDC driver [org.hsqldb.jdbc.JDBCDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

2012-4-27 10:36:49 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc

嚴(yán)重: The web application [/web_nanchang] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

還不知道怎樣解決,導(dǎo)致運(yùn)行不了。

錯(cuò)誤5

 

這個(gè)感覺怪怪的,遇過幾次。把java complier改成1.6或者disabled dependency manangent后在enable它,搞著搞著就消失了。

 

五、心得體會(huì):

       這次maven的部署用了一個(gè)多星期。起初對(duì)maven不了解,按著小飛俠的文檔來部署,但那個(gè)文檔是boss2的,而我配的是網(wǎng)廳項(xiàng)目,部署不成功又不知道什么原因。所以我覺得用boss2的配置文檔去配置網(wǎng)廳的,應(yīng)該先弄清楚每一步是什么意思。就比如boss2的項(xiàng)目為什么不需要檢出libprivatelib呢,是因?yàn)樗椒镆呀?jīng)有了jar包,而網(wǎng)廳的沒有,所以不理解地按著文檔搞是白搞的。

       之后我上網(wǎng)找資料,還買了本書,去學(xué)習(xí)maven。結(jié)果學(xué)習(xí)了一些maven的知識(shí),知道怎樣配私服,還按書本部署了幾個(gè)簡(jiǎn)單的項(xiàng)目。但當(dāng)用到網(wǎng)廳的時(shí)候出現(xiàn)一些奇怪的錯(cuò)誤,上網(wǎng)找答案,嘗試了多種方法解決了一些錯(cuò)誤。我覺得一個(gè)部署項(xiàng)目好郁悶啊,如果有個(gè)人請(qǐng)教一下或者討論一下,會(huì)很高效。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲中文字幕在线观看黑人| 国产精品久久精品国产| 99在线视频精品免费播放| 亚洲一区二区欧美在线| 91精品国产av一区二区| 在线观看视频日韩成人| 久久免费精品拍拍一区二区| 国内胖女人做爰视频有没有| 99久久国产亚洲综合精品| 久久精品亚洲欧美日韩 | 国产欧美日韩精品一区二区| 黄色国产精品一区二区三区| 中国少妇精品偷拍视频| 国产欧洲亚洲日产一区二区| 久久天堂夜夜一本婷婷| 日韩一级一片内射视频4k| 国产传媒免费观看视频| 国产成人精品午夜福利av免费| 国产精品人妻熟女毛片av久| 99久只有精品免费视频播放| 国产一区二区精品高清免费| 国产欧美亚洲精品自拍| 激情国产白嫩美女在线观看| 国产精品一区二区三区激情| 在线观看免费视频你懂的| 国产又猛又黄又粗又爽无遮挡| 欧美成人国产精品高清| 久久精品亚洲情色欧美| 亚洲一区二区三区福利视频| 欧美精品在线播放一区二区| 激情丁香激情五月婷婷| 日韩成人h视频在线观看| 国产午夜免费在线视频| 成人免费视频免费观看| 东京热加勒比一区二区| 国产a天堂一区二区专区| 国产视频在线一区二区| 日本乱论一区二区三区| 精品熟女少妇av免费久久野外| 国产一区二区三区草莓av| 亚洲综合日韩精品欧美综合区|