Maven的Java web 專案基本結構
鑑於目前Java IDE眾多並且都有一定的擁泵,Eclipse的Java Web專案不具有可移植性。Maven既解決了專案結構的規範問題又提供了強大引用處理等強大的功能,在專案佈局等方面已經是目前事實上的標準。Maven的Java web 專案基本結構是Maven 開發Java Web專案的基本條件。
Maven的Java web 專案主要結構如下:
|--root
|--pom.xml
|--src/
|--main/
|--java/
|--resources/
|--webapp/
|--test/
|--java/
|--resources
|--target/
Eclipse中新建一個Maven web app專案。檔案結構如下:
|--MavenWP
|--pom.xml
|--.project
|--.classpath
|--.settings/
|--src/
|--target/
|--classes/
|--m2e-wtp/
1.pom.xml:maven專案配置檔案。
2..project檔案和.classpath檔案以及.settings目錄和target/m2e-wtp目錄下的檔案為Eclipse專案配置檔案。
3.src和target:maven標準專案目錄。
Eclipse4.5.1中對應的專案資源管理檢視
|--MavenWP
|--Deployment Desciptor/
|--Java Resources/
|--JavaScript Resources/
|--Deployed Resources/
|--src
|--target
|--pom.xml
-
預設建立的專案會新增一個index.jsp並報錯:使用maven搜尋並新增servlet依賴更新後就可以正常執行。
2.Java構建路徑問題警告:使用maven搜尋並新增compiler外掛並配置configuration節點更新就可以消除。
3牆的問題配置maven映象,我採用的是http://maven.oschina.net/content/groups/public/。
4.預設建立的maven webapp缺少的src/main/java、src/test/java和src/test/resources等目錄需要自己手動新增。
5.修改.settings/org.eclipse.wst.common.project.facet.core.xml,更新。
6.web.xml根節點開始部分修改如下:
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
Maven的配置檔案pom.xml:
<projectxmlns="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.0http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>me.test</groupId> <artifactId>MavenWP</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>MavenWPMavenWebapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> </dependencies> <build> <finalName>MavenWP</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>