1. 如何創建帶子模塊的Maven Web工程
當在Eclipse中創建Maven帶子模塊的Web工程時,對於新手經常會遇到無法部署Web站點的問題。下面就帶著大家走一遍帶子工程的Maven站點,順便講一下如何解決這個問題。
一、創建父工程
1、 創建Maven工程
首先,在Eclipse中新建一個Maven Project:
單擊「Next」,直到出現如下界面:
在這一步中,選中上面的「Create a simple project」復選框,然後單擊「Next」:
在上圖中,Group Id為組Id,也就是所有子模塊都公用的Id;Artifact Id是模塊Id,每個子模塊都有自己獨立的Artifact Id;Packaging一定要選擇「pom」,否則後面無法在它下面創建子模塊。
單擊「Finish」完成父工程創建。創建完畢後的工程如下圖所示:
二、創建web子模塊
接下來創建子模塊。
1、 創建web工程子模塊
首先創建web工程子模塊,在parent工程上單擊右鍵,選擇「New/Other」,打開如下所示窗口:
在該窗口中選擇「Maven Mole」,單擊「Next」:
在「Mole Name」中輸入「website」,單擊「Next」:
在該窗口的模板列表中選擇「maven-archetype-webapp」,單擊「Next」:
在該窗口中可根據需要修改version和Package(最好將Package改為「GroupId + Artifact Id」的格式,便於以後識別和管理),單擊「Finish」即可完成子模塊創建,如下圖所示:
2、 修改站點配置信息
對於新創建的站點,需要修改一下配合信息。打開website的Properties窗口,在「Java Build Path」下的Libraries選項卡中將J2SE的引用刪除,添加J2EE的引用,如下圖所示:
並將Java Compilier中的Java版本改為1.7:
然後切換到「Project Facets」節點,如下圖所示:
單擊右側的「Convert to faceted form…」,打開如下圖所示窗口:
在上圖中,選中「Project Facet」列表中的「Dynamic Web Mole」,先後單擊「Apply」按鈕和「OK」按鈕,完成工程類型轉換。
接下來創建組件包子模塊。
三、創建組件包子模塊
1、 創建組件包子模塊
同樣是在parent工程上單擊右鍵,新建Maven Mole,並在新彈出的窗口中輸入組件子模塊的名稱,如「component」,然後一直單擊next直到子模塊創建完畢。新創建的component子模塊結構如下圖所示:
2、 修改子模塊參數
與創建web子模塊類似,需要將component引用的Java版本改為JDK1.7。
3、 創建package
在component子模塊下創建名稱為「com.unitname.test.math」的package。
4、 創建類
在新創建的「com.unitname.test.math」package下新建名稱為「CCalculate」的class,並在裡面編寫方法,如下圖所示:
四、在web站點中調用組件
1、 引用組件包
打開website工程下的pom.xml,在裡面添加對component子模塊的引用,如下圖所示:
在上圖中,紅框圈住的部分即為需要增加的內容。其中,groupId和version節點中可以寫被引用的工程的對應內容,如果與本模塊相同,也可以像上圖中所示的使用「${project.groupId}」和「${project.version}」的方式。
2、 編寫servlet調用組件
在website模塊中創建一個名為「com.unitname.test.service」的package,並在下面新建一個名為matchservice的servlet,代碼如下圖所示:
此時代碼中會提示找不到javax.servlet包,可通過在站點中增加對servlet-api組件的引用:
也可通過在web站點的引用中添加對Server Runtime的引用的方式解決:
五、發布站點
1、 發布站點
將站點部署到tomcat中,並啟動。
2、 訪問servlet
在瀏覽器中輸入上面創建的servlet地址http://localhost:8080/website/mathservice?a=2&b=3,此時頁面出現如下錯誤:
Tomcat中也提示相同的錯誤:
此時還需要做一步操作:添加Deployment配置。
3、 添加DeploymentAssembly配置
在web子模塊上單擊右鍵,選擇「Properties」,在打開的窗口中選擇「Deployment Assembly」,如下圖所示:
在上圖中,打擊右側的「Add」按鈕,打開如下圖所示窗口:
在上圖所示窗口中選擇「Java Build Path Entries」,單擊「Next」:
在上圖中選擇「Maven Dependencies」,單擊「Finish」完成添加。
然後接著添加對Project的引用。在中選擇「Project」,單擊「Next」,打開如下圖所示窗口:
在上圖選擇要引用的工程component,單擊「Finish」完成添加。
重啟Tomcat,再次訪問該servlet,出現如下所示的正常結果
2. 怎樣創建一個maven webapp工程
方法/步驟
1
使用Eclipse創建Maven Web工程
2
找到Maven Project,點擊Next
3
勾選上Create a simple project (不使用骨架),Next
4
填寫工程名稱和包名,並選擇war類型,Finish
5
選擇packing是war類型,在main下會生成 webapp目錄
6
使用eclipse發布到tomcat下,需要把項目轉成dynamic web project。
選擇工程單擊右鍵,選擇properties 並找到 Project Facets ,並點擊Convert to faceted form…
7
勾選Dynamic Web Mole 並點擊ok (3.0隻有tomcat7才支持)
8
這時工程結構下會產生一個Web Content目錄
9
雖然此時我們可以發布到tomcat中,但這不符合maven的結構,繼續操作。
把WebContent下面兩個目錄 META-INF ,WEB-INF 直接復制到src/main/webapp目錄下,並刪掉WebContent目錄,結果如下
10
修改發布規則:先擇工程單擊右鍵, 選擇 Properties,
選擇Deployment Assembly:把WebContent Remove掉;測試類我們也不需要發布,test的兩個目錄頁可以remove
11
重新指定WEB路徑:點擊add,選擇Folder
12
在src/main下找到webapp目錄,然後finish
13
把當前的build path 指向 Maven Dependency, 直接點擊add,選擇Java Build Path Entries 然後next
14
15
完成後如下圖
16
進入開發:
(1)pom.xml可以從http://www.mvnrepository.com/ 加入需要jar包的配置路徑;
(2)webapp下可以創建web頁面的目錄結構;
(3)main/java里創建java程序包結構。
http://jingyan..com/article/9f63fb91a7d2a5c8400f0e20.html
3. 如何把maven項目轉成web項目
把一個maven項目轉化成web項目方法:
創建Web工程,使用eclipse ee創建maven web工程 。
1、右鍵項目,選擇Project Facets,點擊Convert to faceted from 。
2。更改Dynamic Web Mole的Version為2.5(3.0為Java7的,Tomcat6不支持)。 如果提示錯誤,可能需要在Java Compiler設置Compiler compliance level 為1.6 。或者需要在此窗口的Java的Version改成1.6。
3、點擊下面的Further configuration available…,彈出Modify Faceted Project窗口 此處是設置web。xml文件的路徑,輸入src/main/webapp. Generate web.xml deployment descriptor自動生成web.xml文件,可選可不選。
4、點擊OK。
5、設置部署程序集(Web Deployment Assembly)
6、在右鍵項目打開此窗口、在左側列表中會出現一個Deployment Assembly,點擊進去後。
7、刪除test的兩項,因為test是測試使用,並不需要部署。
8、設置將Maven的jar包發布到lib下。 Add -> Java Build Path Entries -> Maven Dependencies -> Finish 完成後有: /src/main/webapp / /src/main/java /WEB-INF/classes /src/main/resources /WEB-INF/classes Maven Dependencies /WEB-INF/lib 好了。
4. java maven項目跟web項目區別
Web項目是網頁的編碼,像jsp,servlet,struts這類的。
但是java項目的族型話,是AWT,SWING這類的編世凳碼。
最主要的區別是Web項目中搜穗旅的JAVA文件是tomcat來觸發的,但是java項目里的是Main()來開始的。還有一點是Web項目需要伺服器。
5. maven web項目如何用jetty運行
在maven項目中經常會用到jetty插件,mvn jetty:run默認啟動的是8080埠,tomcat通常佔用這個埠,可以手動修改jetty插件的啟動埠,命令如下:
mvn jetty:run -Djetty.port=9999
另一種方法是修改pom文件,jetty插件部分代碼如下:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.6</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>9999</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
6. maven的web工程怎麼運行在伺服器上
因為Maven遵循的是規約比配置重要的原則,所以Maven項目的結構一般是進入目錄後是一個pom.xml文件和一個src文件夾,當然可能還存在一些README之類的這些都不重要,最關鍵的就是pom.xml和src文件夾,在src下,src/main/java一般就是放置的項目的源代碼,在src/test/java下放置的是測試代碼。
打開Eclipse,當然在做導入工作之前,首先確保你已經安裝了Maven並且已經在Eclipse中加入了Maven得插件。
確保上面的安裝工作已經進行過後,在Eclipse中點擊"File"->Import->Maven
7. 如何為Web項目添加Maven支持
1、首先按照maven的規約建立源碼包:src/main/java、src/main/resources、src/test/java、src/test/resources。創建步驟:
8. maven項目和普通web項目的區別
maven項目和普通web項目的區別主要有定義和作用的不同,分別是:
定義不同:
maven是一個項目管理工具,maven項目通常指的是通過maven來管理項目的方式;
普通web項目是網頁的編碼項目,需要在伺服器上運行。
作用不同:
maven由項目對象模型、標准集合、項目生命周期和依賴關系管理系統構成,可以經過項目對象模型描述信息來管理項目的構建、報告和文檔,還可以生成站點和管理JAR文件;
web是建立在Internet上的一種網路服務,包含了超文本、超媒體和超文本傳輸協議,可以提供圖形化的直觀的網頁瀏覽界面,信息可以實時更新。