1、File >> New >>other...,在New視窗中開啟Maven,選中Maven Project,Next。
2、在New Maven Project彈出視窗中去掉勾選Create a simple project,直接next。
3、在Filter中輸入 “web”找到如下圖中的選項,然後Next。注:此處quickstart選項即前面勾選Create a simple project建立的普通非mavenWeb專案,此處選webapp表示構建web專案。
4、填寫專案名稱資訊。此處實際只要填寫groupId和artifactId,packge名稱會自動生成,就是groupId和artifactId的合併。填寫完成後點選finish則建立成功。
groupId:group 翻譯成中文就是組、集團的意識,groupId就是這樣一個組或集團的ID標識,就拿 Apache 來說好了,Apache 大家都不陌生吧,Apache 官網上有非常多的專案,每個專案裡面肯定能找得到 org.apache.xxxx,而 org.apache 就是這裡說的 groupId
artifactId:還是拿 Apache 來說,Apache 官網上有非常多的專案,而每個專案的名字就是這裡的 artifactId,換句話說,artifactId 就是你的專案名
5、新建好後的專案如果出現jsp檔案的錯誤,一般是沒有引用正確的Tomcat包檔案。如圖:
6、專案上右鍵,選擇Properties,彈出如下視窗。選擇左側的選單Maven >> Project Facets,在右側選擇runtimes,勾選Apache tomcat,然後錄apply-->ok,則錯誤消除。
7、專案 >> 右鍵 >> Build Path >> New Source Folder,手動加入maven專案目錄,如src/main/java,src/test/java,src/test/resources等。完整的專案目錄圖如下:
8、此時將專案加入到tomcat即可訪問專案。訪問路徑localhost加埠號加專案名加檔名。如:http://localhost:8070/mavenlast/index.jsp。
注:tomcat埠號即啟動時出現的HTTP/1.1 on http-8070對應的號碼,此號碼也可在雙擊server時看到,如下圖:
9、maven的jetty啟動方式(jetty和tomcat啟動是兩種不同的啟動方式,效能特點不同,主流啟動是tomcat):
(1)專案右鍵-->Run as-->Maven build (Alt+Shift+X,M),出現如下對話方塊,
main標籤下填寫goals:jetty:run,然後勾選Skip Tests選項,
jre標籤下填寫VM argument:-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=384m
點選apply-->run
(2)此時啟動會報錯,因為jetty啟動需要相應的啟動外掛。在pom.xml檔案中配置如下內容再啟動即可。注:jetty啟動訪問時埠號是pom檔案裡配置的埠號,如下檔案中配置的是8088;同時jetty啟動訪問時不用加專案名,不同專案識別都是通過埠號識別。如:http://localhost:8088/index.jsp。
<project xmlns="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.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId> <artifactId>mavenlast</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>mavenlast Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <maven.jetty.plugin.version>6.1.23</maven.jetty.plugin.version> <maven.release.plugin>2.1</maven.release.plugin> <project.build.sourceEncoding>GBK</project.build.sourceEncoding> <project.reporting.outputEncoding>GBK</project.reporting.outputEncoding> <servlet.version>2.5</servlet.version> <spring.version>3.0.7.RELEASE</spring.version> <ibatis.version>2.3.4.726</ibatis.version> <freemarker.version>2.3.16</freemarker.version> <aspectj.version>1.6.9</aspectj.version> <slf4j.verison>1.6.1</slf4j.verison> <log4j.version>1.2.16</log4j.version> <!--Test Related--> <junit.version>4.8.2</junit.version> <quartz.version>1.8.4</quartz.version> <jacksonVersion>1.9.9</jacksonVersion> <!-- cache --> <xmemcached.version>1.3.5</xmemcached.version> <httpcomponents.version>4.2</httpcomponents.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>mavenlast</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>${maven.jetty.plugin.version}</version> <configuration> <contextPath>/</contextPath> <scanIntervalSeconds>3</scanIntervalSeconds> <systemProperties> <systemProperty> <name>CONFIG_DIR_PATH</name> <value>${basedir}/config/config</value> </systemProperty> <systemProperty> <name>org.mortbay.util.URI.charset</name> <value>GBK</value> </systemProperty> </systemProperties> <stopPort>9911</stopPort> <stopKey>foo</stopKey> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8088</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> </plugin> </plugins> </build> </project>
10、maven專案依賴包新增http://mvnrepository.com/
maven專案目錄含義:
src/main/java | application library sources - java原始碼檔案 |
src/main/resources | application library resources - 資源庫,會自動複製到classes資料夾下 |
src/main/filters | resources filter files - 資源過濾檔案 |
src/main/assembly | assembly descriptor - 元件的描述配置,如何打包 |
src/main/config | configuration files - 配置檔案 |
src/main/webapp | web application sources - web應用的目錄,WEB-INF,js,css等 |
src/main/bin | 指令碼庫 |
src/test/java | 單元測試java原始碼檔案 |
src/test/resources | 測試需要的資源庫 |
src/test/filters | 測試資源過濾庫 |
src/site | 一些文件 |
target/ | 存放專案構建後的檔案和目錄,jar包,war包,編譯的class檔案等;Maven構建時生成的 |
pom.xml | 工程描述檔案 |
LICENSE.txt | license |
README.txt | read me |