基于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)建過程的控制臺(tái)打印:
"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拖動(dòng)放到我們想存放的位置:
自己手動(dòng)配置Resource和Java目錄
在對main目錄進(jìn)行右鍵創(chuàng)建包的時(shí)候,IDEA會(huì)自動(dòng)建議創(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)加號(hào)找到TomcatServer選擇本地,千萬別下面的EE Server
IDEA會(huì)提示你還沒有配置Tomcat,直接Fix就好了
選下面這個(gè)explored的
自行更換工程資源路徑:
重要的熱部署選上:
啟動(dòng)項(xiàng)目發(fā)現(xiàn)404,結(jié)果之前好好的webapp目錄IDEA不識(shí)別了
因?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)文章
MyBatis自定義TypeHandler如何解決字段映射問題
這篇文章主要介紹了MyBatis自定義TypeHandler如何解決字段映射問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12Java讀取txt文件中的數(shù)據(jù)賦給String變量方法
今天小編就為大家分享一篇Java讀取txt文件中的數(shù)據(jù)賦給String變量方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07Java通過apache poi生成excel實(shí)例代碼
本篇文章主要介紹了Java通過apache poi生成excel實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06Java版數(shù)據(jù)結(jié)構(gòu)插入數(shù)據(jù)時(shí)遇到的結(jié)點(diǎn)為空的問題詳解
這篇文章主要介紹了Java版數(shù)據(jù)結(jié)構(gòu)插入數(shù)據(jù)時(shí)遇到的結(jié)點(diǎn)為空的問題及解決辦法,需要的朋友們可以學(xué)習(xí)下。2019-09-09IDEA中如何查找jar包之間的依賴關(guān)系并忽略依賴的某個(gè)包
這篇文章主要介紹了IDEA中如何查找jar包之間的依賴關(guān)系并忽略依賴的某個(gè)包?本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Java正則表達(dá)式matcher.group()用法代碼
這篇文章主要給大家介紹了關(guān)于Java正則表達(dá)式matcher.group()用法的相關(guān)資料,最近在做一個(gè)項(xiàng)目,需要使用matcher.group()方法匹配出需要的內(nèi)容,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下2023-08-08