使用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文件:下載地址