Maven依赖冲突解决及常见错误
Web工程依赖 两个不同的maven项目,依赖同一个artifactId但是版本不同,这时候就会产生maven的jar依赖冲突问题!
排除依赖
<dependencies>
<dependency>
<groupId>com.wangys</groupId>
<artifactId>wangys-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.wangys</groupId>
<artifactId>wangys-entity</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 加入exclusions排除依赖 -->
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
常见maven错误
错误原因①:
pom.xml报错:web.xml is missing and <failOnMissingWebXml> is set to true
解决办法:
出现这个错误的原因是Maven不支持缺少web.xml的web项目
添加Web模块,对项目右键->Java EE Tools->Generate Deployment Descriptor Stub,
这样就在src\main\webapp下面生成了WEB-INF文件夹和web.xml,问题解决。
web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>project-web</display-name>
</web-app>
错误原因②:
'parent.relativePath' and 'parent.relativePath' points at wrong local POM @ line 4, column 10
解决办法:
在应用parent工程中加上<relativePath>../wangys-parent/pom.xml</relativePath>
<parent>
<groupId>com.wangys</groupId>
<artifactId>wangys-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../wangys-parent/pom.xml</relativePath>
</parent>
错误原因③:
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
解决办法:
更换为自己本地的jdk即可。