基于Maven骨架創(chuàng)建JavaWeb項(xiàng)目過程解析
IDEA版本:2020.1
骨架選項(xiàng)名稱:
org.apache.maven.archetypes:maven-archetype-webapp

本項(xiàng)目的Maven坐標(biāo)設(shè)置:

設(shè)置優(yōu)先從本地獲取骨架:
archetypeCatalog=internal

構(gòu)建過程的控制臺打印:
"C:\Program Files\Java\jdk1.8.0_251\bin\java.exe" -Dmaven.multiModuleProjectDirectory=C:\Users\User-Dai\AppData\Local\Temp\archetypetmp -Dmaven.home=D:\apache-maven-3.6.3 -Dclassworlds.conf=D:\apache-maven-3.6.3\bin\m2.conf "-Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA 2020.1\plugins\maven\lib\maven-event-listener.jar" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1\lib\idea_rt.jar=64704:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1\bin" -Dfile.encoding=UTF-8 -classpath D:\apache-maven-3.6.3\boot\plexus-classworlds-2.6.0.jar;D:\apache-maven-3.6.3\boot\plexus-classworlds.license org.codehaus.classworlds.Launcher -Didea.version2020.1 -s D:\apache-maven-3.6.3\conf\settings.xml -Dmaven.repo.local=D:\maven-storage -DinteractiveMode=false -DgroupId=cn.echo42 -DartifactId=Maven-Archetype-Sample -Dversion=1.0-SNAPSHOT -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=RELEASE -DarchetypeCatalog=internal org.apache.maven.plugins:maven-archetype-plugin:RELEASE:generate [INFO] Scanning for projects... [INFO] [INFO] ------------------< org.apache.maven:standalone-pom >------------------- [INFO] Building Maven Stub Project (No POM) 1 [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] >>> maven-archetype-plugin:3.2.0:generate (default-cli) > generate-sources @ standalone-pom >>> [INFO] [INFO] <<< maven-archetype-plugin:3.2.0:generate (default-cli) < generate-sources @ standalone-pom <<< [INFO] [INFO] [INFO] --- maven-archetype-plugin:3.2.0:generate (default-cli) @ standalone-pom --- [INFO] Generating project in Batch mode [INFO] Archetype repository not defined. Using the one from [org.apache.maven.archetypes:maven-archetype-webapp:1.0] found in catalog internal [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Archetype: maven-archetype-webapp:RELEASE [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: cn.echo42 [INFO] Parameter: artifactId, Value: Maven-Archetype-Sample [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: cn.echo42 [INFO] Parameter: packageInPathFormat, Value: cn/echo42 [INFO] Parameter: package, Value: cn.echo42 [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: groupId, Value: cn.echo42 [INFO] Parameter: artifactId, Value: Maven-Archetype-Sample [INFO] Project created from Archetype in dir: C:\Users\User-Dai\AppData\Local\Temp\archetypetmp\Maven-Archetype-Sample [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.503 s [INFO] Finished at: 2020-08-04T20:57:23+08:00 [INFO] ------------------------------------------------------------------------
目錄結(jié)構(gòu):
發(fā)現(xiàn)我們的源碼包和資源包都沒有配置,只有一個(gè)放置頁面資源的webapp目錄

我們可以把webapp拖動放到我們想存放的位置:

自己手動配置Resource和Java目錄
在對main目錄進(jìn)行右鍵創(chuàng)建包的時(shí)候,IDEA會自動建議創(chuàng)建Maven項(xiàng)目的目錄結(jié)構(gòu)

JSP首頁甚至沒有JSP指令標(biāo)簽。。。
<html> <body> <h2>Hello World!</h2> </body> </html>
可以把POM配置這些都更新:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency> </dependencies>
也就是說這個(gè)骨架最初并不是給IDEA創(chuàng)建的
而是給Eclipse使用的。。。
接下來是配置Tomcat
點(diǎn)加號找到TomcatServer選擇本地,千萬別下面的EE Server

IDEA會提示你還沒有配置Tomcat,直接Fix就好了

選下面這個(gè)explored的

自行更換工程資源路徑:

重要的熱部署選上:

啟動項(xiàng)目發(fā)現(xiàn)404,結(jié)果之前好好的webapp目錄IDEA不識別了

因?yàn)槟J(rèn)的配置路徑IDEA找不到了,需要我們自己改上去:

把之前的index.jsp刪除,重新配置一個(gè)
<%-- Created by IntelliJ IDEA. User: User-Dai Date: 2020/8/4 Time: 21:18 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> Hello Java </body> </html>
okokok

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
將Springboot項(xiàng)目升級成Springcloud項(xiàng)目的圖文教程
本文主要介紹了將Springboot項(xiàng)目升級成Springcloud項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
SpringBoot 動態(tài)配置郵箱發(fā)件人過程解析
這篇文章主要介紹了SpringBoot 動態(tài)配置郵箱發(fā)件人過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
非常實(shí)用的java自動答題計(jì)時(shí)計(jì)分器
這篇文章主要為大家詳細(xì)介紹了非常實(shí)用的java自動答題計(jì)時(shí)計(jì)分器的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
MyBatis的配置對象Configuration作用及說明
MyBatis的Configuration對象是MyBatis的核心配置對象,它包含了MyBatis運(yùn)行時(shí)所需的幾乎所有配置信息,這個(gè)對象負(fù)責(zé)管理MappedStatement、創(chuàng)建核心組件、提供配置信息的訪問接口以及作為插件機(jī)制的入口2025-03-03
SSH框架實(shí)現(xiàn)表單上傳圖片實(shí)例代碼
本篇文章主要介紹了SSH框架實(shí)現(xiàn)表單上傳圖片實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09

