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