【JavaWeb】IDEA創(chuàng)建Maven項(xiàng)目,配置Web項(xiàng)目

Intellij idea

??初學(xué)JavaWeb碰到過很多坑,而如今用Maven開始項(xiàng)目,記錄自己從頭到尾的配置方法。


目錄

一、Maven配置

1.更改settings.xml文件

2.配置Maven環(huán)境變量

二、Maven項(xiàng)目建立

1.創(chuàng)建Maven項(xiàng)目

2.配置Maven項(xiàng)目默認(rèn)值

三、Web項(xiàng)目配置

1.Tomcat插件配置

2.Web項(xiàng)目配置


一、Maven配置

??IDEA自帶了Maven的2、3版本,因此不需要上網(wǎng)下載,但仍然需要更改一些配置

1.更改settings.xml文件

??settings.xml文件在IntelliJ IDEA \ plugins \ maven \ lib \ maven3 \ conf目錄下,用記事本或notepad++、sublime text這些編輯器打開,找到localRepository標(biāo)簽(善用Ctrl+F功能)。

??在本地建一個(gè)文件夾作為Maven的倉(cāng)庫(kù),比如我是在D:\ Project \ Maven,將localRepository標(biāo)簽內(nèi)的地址改為你的倉(cāng)庫(kù)地址(如果沒有這個(gè)標(biāo)簽,就在settings標(biāo)簽下被注釋的localRepository下面新建一個(gè))

2.配置Maven環(huán)境變量

??編輯環(huán)境變量(我的電腦Win10可以按Win+S,然后打上環(huán)境的拼音(huanjing)就可進(jìn)入,不同電腦進(jìn)入方法有微小的差別)

??加上新的系統(tǒng)變量M2_HOME,以及maven文件的地址(注意,idea中要找到maven不是maven的根目錄,要進(jìn)到maven3的文件夾才是根目錄。變量名不管是Maven2還是Maven3都要叫M2_HOME)
如上圖所示,我的路徑為C:\App\IntelliJ IDEA\IntelliJ IDEA 2017.2.5\plugins\maven\lib\maven3
??Maven環(huán)境配置完畢。

二、Maven項(xiàng)目建立

1.創(chuàng)建Maven項(xiàng)目

新建項(xiàng)目


選擇Maven項(xiàng)目->創(chuàng)建模版->maven簡(jiǎn)單web程序
GroupId一般是公司的倒寫,Artifactid是項(xiàng)目文件名,Version不用改
三個(gè)框分別為Maven地址、settings.xml地址、倉(cāng)庫(kù)地址(后兩個(gè)框一開始是灰色的,要把后面的復(fù)選框點(diǎn)開)

不用改,直接完成
然后生成了初始項(xiàng)目目錄
讓Maven能自動(dòng)導(dǎo)入:

2.配置Maven項(xiàng)目默認(rèn)值

??此步驟是為了以后創(chuàng)建Maven不需要重新改變參數(shù)而設(shè)定默認(rèn)值,可以先跳過
??如果因?yàn)榇瞬襟E發(fā)生了[ERROR] Maven execution terminated abnormally (exit code 1),并且在本文得不到解決,可以參考[ERROR]
??

更改默認(rèn)地址
,在VM Options里面填入 -DarchetypeCatalog=internal
完成。

三、Web項(xiàng)目配置

1.Tomcat插件配置

??配置Tomcat總是出現(xiàn)各種問題,直接用Maven插件解決就好。
??在自動(dòng)生成的pom.xml文件的build標(biāo)簽下直接加入:

<plugins>
  <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
          <port>8080</port>
          <path>/</path>
          <uriEncoding>UTF-8</uriEncoding>
      </configuration>
  </plugin>
</plugins>

??注意,不要擅自將plugin標(biāo)簽放到自動(dòng)生成的其他plugins標(biāo)簽內(nèi),這只會(huì)導(dǎo)致沒反應(yīng),直接放到build標(biāo)簽下就不會(huì)出問題。
??以上代碼可以更改的是configuration標(biāo)簽內(nèi)的內(nèi)容,通過增加、修改其中的內(nèi)容,就可以像下載配置Tomcat一樣更改配置。例如port是端口號(hào),path是基本路徑,uriEncoding是編碼。
??如果一切正常,此刻Maven project應(yīng)該會(huì)出現(xiàn)Tomcat7

如果你的右側(cè)沒有Maven project欄,就先去左下角的窗口中,將Maven project點(diǎn)出來(lái)。
??此刻已經(jīng)自動(dòng)生成了一個(gè)index.jsp文件,運(yùn)行Tomcat7:run,就可開啟服務(wù)器
此時(shí)訪問http://localhost:8080/即可看到helloworld頁(yè)面。
??有時(shí)我不想將頁(yè)面放到右側(cè)啟動(dòng),而是和普通Tomcat一樣在上面啟動(dòng),可以點(diǎn)擊上面的Edit Configurations
點(diǎn)加號(hào),選擇Maven
該默認(rèn)的名稱,下面的框打上tomcat7:run(如果沒問題,在你剛打上t的時(shí)候就會(huì)出提示)
現(xiàn)在只要按上面綠色的三角就可以啟動(dòng)服務(wù)器了

2.Web項(xiàng)目配置

??當(dāng)前狀態(tài)已經(jīng)可以放jsp了,只要和index.jsp在同級(jí)目錄下就好,但依然不是servlet web項(xiàng)目,我們可以看到,當(dāng)前的目錄都是有缺失的,因此要在src / main目錄,和webapp同級(jí)的位置新建java和resources文件,其中java就是用來(lái)承裝Servlet源碼的地方。

??然后配置文件夾屬性:
別忘了最后點(diǎn)最下面的apply(應(yīng)用)

??此刻在java下新建包,我命名為com.demo
??在包下新建HelloWorld類
1.png

??導(dǎo)入包并繼承自servlet類
package com.demo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class HelloWorld extends javax.servlet.http.HttpServlet {
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        response.setContentType("text/html");
        response.getWriter().print("Servlet project create is success!");
    }
}

??此時(shí)發(fā)現(xiàn)很多類都是不能被解析的(con't resolve symbol),那是因?yàn)闆]有依賴,此時(shí)回到pom.xml中,在dependencies(依賴)標(biāo)簽下增加新的依賴:

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>

??此時(shí)就沒有那些錯(cuò)誤了。注:有些教程沒有<scope>provided</scope>這一項(xiàng),這會(huì)導(dǎo)致出錯(cuò)。
??然后回去在web.xml中添加地址映射(就在web-app標(biāo)簽下):

<servlet>
  <servlet-name>HelloWorld</servlet-name>
  <servlet-class>com.demo.HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>HelloWorld</servlet-name>
  <url-pattern>/hello</url-pattern>
</servlet-mapping>

此時(shí)我們啟動(dòng)服務(wù)器,并訪問http://localhost:8080/hello,即可看到結(jié)果:

成功!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,275評(píng)論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • 本文權(quán)當(dāng)我的一個(gè)筆記。如果你尚未安裝 IntelliJ IDEA.請(qǐng)安裝后再來(lái)看本文。本文參考了此文.本文只是個(gè)創(chuàng)...
    Thresh0ld閱讀 2,828評(píng)論 0 6
  • ——由“三喻文化”想到的教育問題 百度一下,代溝的含義解釋如下:廣義指年輕一代與老一代在思想方法、價(jià)值觀念、生活態(tài)...
    點(diǎn)星人閱讀 849評(píng)論 0 1
  • 今天用了大概6個(gè)番茄鐘的時(shí)間把這本《令人怦然心動(dòng)的3日奇跡整理術(shù)》看完。因?yàn)橹白x過《斷舍離》,對(duì)于整理術(shù)有一定的...
    大鵬元帥閱讀 629評(píng)論 0 4

友情鏈接更多精彩內(nèi)容