eclipse編譯maven項目
『壹』 eclipse 創建maven項目
eclipse 創建maven項目
1.安裝Maven,下載一個maven包解壓,然後配置maven環境變數(配置完成後在dos窗口用mvn命令測試下)。
2.在Eclipse中安裝Maven插件
3.在Eclipse中配置Maven的setting.xml,即在Preference——》Maven——》User Setting中配置(具體使用哪個setting.xml需要根據你的項目情況而定)。
4.拷貝repository包,雖然這個不是必須的,一般通過項目在線更新jar包就可以,但是如果第一次的話最好是拷貝,因為一般項目都會比較大,jar包也會很多很多,在線下載的話會很慢。
二、引入和安裝Maven項目
如果第一步操作成功的話,你就可以在import窗口裡面看到Maven的選項了,選擇Import a exsiting Maven project 就行,前提是你先把Maven項目從版本庫中down下來。
如果你引入的這個項目A被別的Maven項目B引用了,那麼我們最好是讓項目B直接使用本地的項目A,而不是從repository中尋找對應項目A的jar包。這樣會避免jar包更新出問題(比如項目A經常更新,jar包可能會更新不及時)。這樣的話我們就需要將我們的項目A
install到本地,install有兩種方法:
1.右鍵項目選擇Maven菜單的install即可。
2.使用命令,即將目錄轉換到該項目目錄下,然後執行mvn clean install -Dmaven.test.skip=true即可。(推薦該方法,因為跳過了測試)
三、更新jar包
更新Maven的jar包應該是對於Maven項目最常用的操作了(因為項目一直在更新,那麼jar包肯定也一直在變)。
那麼對於更新Maven的jar包的方法是:右鍵項目選擇Maven菜單下的update
project,然後在彈出框中有一個offline的選項,一般情況我們直接勾選offline(這樣它之更新本地的jar包,比如上面提到的項目A的更改會更新,offline的速度很快);當然如果offline不行的話就需要取消對offline的勾選,即在線更新jar包,這樣它會從遠程伺服器中下載最新的jar包。
更新完jar包後一定要注意修改項目的properties,要手動改下面幾個地方(因為更新完jar包會自動更改這些配置):如果是java項目只需要更改1即可,web項目需要更改1,2,3.
1.將build path中的jdk版本改成你所需要的。
2.將Deployment Assembly中的自動生成的兩個文件夾刪除(好像是tmp和tmpwebapp),添加你的WebRoot文件夾。
3.如果你的項目有默認的別名,還需要再手動改一下Web Project Setting。
四、常見小問題
雖然在上面的幾個步驟中看起來很簡單,但是由於我們的maven插件不太好用,所以也會經常出一些小問題。
1.install項目失敗
這個情況一般會發生在使用右鍵項目install的方法,因為它有一個test的過程,所以有時候會test失敗,這時候我們只需要換成第二種使用install命令的方式就沒問題了。
2.更新jar包失敗
經常會有這樣一個情況,明明都在線更新jar包了,可是jar包卻還是很久以前的,然後在啟動tomcat的時候總是會報ClassNotFound或者某個方法不存在的錯誤。
對於這種情況我們最好是找到是哪個包,然後在repository中找到這個包刪掉,之後再update那麼這個包就會變成最新的了。
3.項目莫名其妙的啟動不了
有時候我明明都在線更新了jar包,然後還clean項目了,但是就是啟動失敗,仔細一瞧,problems窗口中有錯誤提示,有什麼cycle引用,這時候一般是因為有引用本地安裝的項目還有引用repository中jar包,所以可能是你repository中的jar包最新了但是你本地引用的項目沒有更新,這時我的無憂做法是:
將引用到的項目全部update(記得update完後修改jdk),然後clean,然後重新install(最好使用命令方式),最後再將你的項目update然後clean,基本就沒有問題了。
『貳』 Eclipse的區別構建項目和Maven編譯命令
1)命令行插件配置 用戶可以在Maven命令中使用-D參數,並伴隨一個參數鍵=參數值的形式,來配置插件的參數。 如:mvn install -Dmaven.test.skip = true 2)Eclipse中執行 install -Dmaven.test.skip = true,
『叄』 java eclipse導入Maven,ava環境一切已設置,發現問題maven不編譯。怎麼處理
先讓這個maven工程轉換為非maven工程。方法:右鍵工程--maven--Disable maven nature。在當前目錄下執行命令(就是有pom.xml文件的那個目錄) —— mvn eclipse:clean。最後,重新轉換該工程為maven工程。右鍵工程--- 'Configure'--- 'Convert to Maven Project'
『肆』 如何用eclipse寫maven
下載解壓Maven包
增加兩個環境變數
Path : 解壓目錄/bin
M2_HOME: 解壓目錄
驗證安裝:
開始->運行->cmd進入命令行窗口 Mvn -v
Eclipse中的Maven設置:
Window->preferences->maven->installation->add Maven的安裝目錄
Maven的配置文件
全局配置文件的位置: ${maven.home}/conf/settings.xml 需拷貝到用戶模式下
用戶配置文件的位置:${user.home}/.m2/settings.xml
Maven庫的設置:
Maven引用的jar包,都會通過網路下載添加到maven的庫中,方便下次調用,默認存放的庫是${user.home}/.m2/repository ,庫中的數據越會來月多,存放在C盤,隨著系統盤的格式化庫會丟失,所以需要自定義庫的位置。
下載一份包含較多jar包的maven庫文件(M2repository.zip),解壓並修改用戶(user)配置文件<localRepository>庫文件的目錄</localRepository>
也可以在Window->preferences->maven->user settings ->Local Repository中修改
使用Eclipse創建Maven項目:
File->new->other..àMaven->Maven project
創建jar項目,可以選擇使用maven-archetype-quickstart來創建
創建war項目,可以選擇使用cocoon-archetype-webapp來創建
接著填寫項目的坐標信息,maven使得項目更有層次性,利於管理
groupId:項目或者組織的唯一標志,並且配置時生成的路徑也是由此生成,如org.codehaus.mojo生成的相對路徑為:/org/codehaus/mojo
artifactId: 項目的通用名稱
version:項目的版本
packaging: 打包的機制,如pom, jar, maven-plugin, ejb, war, ear, rar, pa
Pom.xml包含了項目的所有信息(以下不是必要信息)
項目的依賴:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
安裝Jetty插件:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.1.6.v20100715</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webAppConfig>
<contextPath>/projectX</contextPath>
</webAppConfig>
</configuration>
</plugin>
運行Maven項目:
運行Jar項目右鍵->run as -> java application
運行war項目,需要使用到Tomcat
或者在pom.xml裡面添加jetty的插件,在命令行窗口,
轉到項目目錄 輸入mvn jetty:run
『伍』 如何在eclipse中用maven編譯
在eclipse中用maven編譯的方法:
在項目中的「pom.xml」文件上點擊右鍵,在彈出的菜單中選擇「Run AS」à「Maveninstall」來編譯和生成項目。如下圖所示:
在編譯和生成過程中,可以在「Console」面板中可以看到Maven編譯過程的信息,如果編譯和生成成功,可以在「Console」面板看到「BUILD SUCCESS」字樣。
另外,在修改pom.xml文件中的相關jar包信息時,可能由於倉庫中不存在,就會出現一些錯誤,這時,項目編譯就可能存在一些問題。此時可通過「Maven clean」選項來清除編譯,然後再修改pom.xml到正確情況。再通過「Maven install」來編譯和生成。
『陸』 Eclipse中如何運行Maven項目
當jetty版本到6.×的時候改為maven管理的項目了,用了m2eclipse把源碼導入到eclipse中,然後在eclipse中無法運行jetty
『柒』 eclipse maven程序怎麼運行
運行maven程序參考下面方法:
先進入tomcat目錄啟動tomcat,然後右鍵項目 run as-》run configrations:
Goals項輸入:package tomcat:redeploy
Maven Runtime選擇自己的maven。
然後點Run,控制台顯示如下:
[plain]
[INFO] Processing war project
[INFO] Copying webapp resources [項目地]
[INFO] Webapp assembled in [3 msecs]
[INFO] Building war: 項目地址
[INFO] WEB-INF\web.xml already added, skipping
[INFO]
[INFO] <<< tomcat-maven-plugin:1.1:redeploy (default-cli) @ transition <<<
[INFO]
[INFO] --- tomcat-maven-plugin:1.1:redeploy (default-cli) @ 項目名---
[INFO] OK - Undeployed application at context path /項目名
[INFO] OK - Deployed application at context path /項目名
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.412 s
[INFO] Finished at: 時間
[INFO] Final Memory: 6M/15M
[INFO] ------------------------------------------------------------------------
這里省略很多控制台輸出,出現BUILD SUCCESS 則說明部署成功,瀏覽器輸入:localhost:8080/項目名稱/。
注意:這樣成功之後項目會直接打成war包,部署到tomcat下,每次build不需要重啟tomcat。這樣致命的缺點就是,不能調試。如果需要調試且在eclipse中啟動tomcat的話。會發現右鍵項目沒有run as server,有兩種方法解決:
第一種:這時需要把項目轉變成dynamic web mole。右鍵項目-》properties-》project facets,然後右邊選中dynamic web mole。之後就會出現run as server了.
第二種:右鍵項目,run/debug as configrations 。不過Goals中天上【tomcat:run】。然後run就OK了,注意這里不需要提前啟動tomcat。
『捌』 如何使用maven將源碼編譯成eclipse工程
1、將maven插件,直接存放到eclipse---dropins中,重啟eclipse。
2、重啟eclipse後,window——》Preferences中出現【Maven】選項
3、配置maven
由於maven的核心插件需要使用到jdk,而eclipse是運行在jre上的,所以需要配置maven關聯jdk。
Eclipse—windows-Perferences—Maven-Installations—add-installation type 選擇maven安裝目錄。在Installations中選擇新配置的maven選項。
Eclipse—windows-Perferences—Maven—User Settings
點擊Restore Defaults,沒有反應但是會在C:\Users\${User}\.m2\路徑下生成settings.xml文件。
『玖』 maven工程在eclipse上編譯成功,但在命令行利用maven編譯指令出現語法錯誤
maven 添加jar的時候,在pom.xml中找到 dependencies 節點, 添加如下 :
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.11</version>
</dependency>
maven會自動去伺服器上面下載所需的jar
『拾』 eclipse的maven build有什麼作用
eclipse的maven build是用來編譯eclipse工程的。