使用eclipse手動建一個maven的web project可能會有版本不合適的情況,例如使用spring的websocket需要web3.0什麼的,不全面的修改可能會出現各種紅叉,甚是苦惱。我從我的使用經驗出發,從建立一個maven專案開始,記錄我用maven建一個web3.0的專案。
建立一個maven的web專案
1、首先要安裝配置好maven,具體怎麼配置就不說了。
2、eclipse->new project->maven project->next->選擇maven-archetype-webapp
3、Group ID:唯一的組織或機構名,相當於package的字首;Artifact Id:專案名;Package:包名,會自動填好
4、配置Deployment Assembly,需要新增一個maven lib,如果缺少什麼檔案,可以在專案的src->main下面新建。
最後成功建立一個web2.3的專案。
修改web的版本
1、 在專案的.setting資料夾中編輯org.eclipse.wst.common.project.facet.core.xml檔案,將 <installed facet="jst.web" version="2.3"/> 的2.3改為3.0,隨後右鍵專案,選擇maven->update project ,之後會出現紅叉,不用擔心,接著下一步。
2、右擊專案,找到properties->project facets,將Dynamic web Module改為3.0,而下面的java版本也改為相應的。
3、在web.xml檔案中的<web-app>代替,其中版本要相互對應,最後再update project,紅叉就消失了,版本就變為3.0了。
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
如果覺得每次update project專案JRE System Lib都會變化,那麼,可以再pom.xml的<build>上加上
<plugins> <!-- 編譯的時候使用JDK7和UTF8編碼 ,--> <plugin> <artifactId>maven-compiler-plugin</artifactId> <!-- <version>3.0</version> --> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- 編譯jar包 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <addMavenDescriptor>false</addMavenDescriptor> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> </archive> </configuration> </plugin> </plugins>
最後此處應該有一個springmvc+hibernate的pom.xml檔案:下載地址