Maven原理架構問題彙總
總結:
工具為Idea
問題一:
1. 關於在idea建立一個帶骨架的webapp專案
(1) 使用maven自帶tomcat:run會導致執行出來jsp報錯。如下圖↓
造成此錯誤的原因是:
該命令使用的是內建Apache Tomcat/6.0.29版本,此版本的Tomcat不支援jdk1.8的編譯。(1.7的才支援)
解決方案:
1. 更改該專案所使用的jdk1.8 --> jdk1.7(很麻煩不推薦)
2. 在該專案的pom.xml增加配置,更改成tomcat7,去適配1.8,然後使用tomcat7:run
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>9090</port>
<path>/</path>
<uriEncoding>UTF-8</uriEncoding>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>
</build>
3. 使用idea上面工具欄的Tomcat配置一個tomcat7 增加給專案並執行
問題二:
1. 在聚合工程中,只有主pom.xml中需要加<dependencyManagement>,其他子專案不需要
2. 如果主pom.xml配置了
問題三:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope> 這個最好寫上!!
</dependency>
問題四:
1. Maven就是為了管理Jar包和打包部署;不是用來一起執行在Tomcat中的
2. 特別是Pom聚合專案,不要直接再tomcat配置中匯入Pom的專案。
(1) 要一個個子專案來,也不要全部子專案一起。只會載入第一個。
(2) Maven主要為了這幾個東西:
(3) 如圖所示,需要一個個去run,而不是一起,且pom主工程那個不可run