当 Maven 一键构建时(一键构建的意思就是:我们不再使用本地安装的 Tomcat,而是使用 Maven 自身集成的 Tomcat 插件对项目进行构建),注意,这个时候大家都知道 Maven 自身具有 Tomcat 插件,既然是 Tomcat 插件,那么Tomcat 所依赖的包就是 Maven 应该有的包。
你本地的 Tomcat 所在的包和你项目导入的包,包名一样时,就是相冲的,名称一模一样,所以就有了冲突。
我们需要修改导入包的作用域,Maven 作于专业的包管理工具,我们只要让导入包只在编译的时候起作用,就对 jar 包设置一个作用域,添加 scope 标签。这样构建的时候继续使用你本地的包,而不是导入的 jar 包。
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.7</version> <scope>provided</scope> </dependency>