IDEA建立Maven Web專案
阿新 • • 發佈:2021-01-08
概述
以IDEA2020.3.1+Tomcat9.0+Maven3.6.3+jdk1.8+web4.0演示
Maven Mac下安裝和IDEA配置見 https://www.cnblogs.com/shenleg/p/14218613.html
新建專案
IDEA補目錄
直接選擇
更改Web4.0版本
早期的web工程中並不支援@WebServlet
註解配置,甚至不支援El
表示式(在web 3.0版本之後才支援)
一定要將matadata-complete
屬性顯式改為"false"
這樣建立的web工程才是web-4.0
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="false"> </web-app>
修改建立模版
手動修改預設模版,預設為1.4
版本
位置在:%maven_repository%\org\apache\maven\archetypes\maven-archetype-webapp\1.4
更改Pom檔案
防止資源匯入錯誤
<!--在build中配置resources,來防止我們資源匯出失敗的問題--> <build> <resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>**/*.properties</exclude> <exclude>**/*.xml</exclude> </excludes> <filtering>false</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>
引入Servlet API
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency>
指定Maven JDK編譯版本
pom中修改
區域性修改
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
Maven修改
全域性修改,在maven配置檔案settings.xml
中設定
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
pom補充
maven.compiler.source
和maven.compiler.target
僅僅是推薦,不是強制