maven
常见错误:一..在Eclipse导入已存在工作空间的项目,出现
情况1:
Scanning errors (1):
1 Could not read pom.xml就是pom.xml出现了不能解析的配置,把不能解析的配置修改过来.例如去掉
<build>
<finalName>testweb</finalName>
</build>情况2:
No marketplace entries found to handle maven-compiler-plugin:2.3.2:testCompile in Eclipse.
将Eclipse内置的Maven换成外部自己安装的Maven,重启Eclipse.然后,在命令行执行mvn clean install再导入项目. 二.导入项目后出现:情况1:
Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix.
在Problems View的出错提示右键选Quick Fix,再按提示确定就OK.或者,右键项目->Maven->Update Project
情况2:
JavaServer Faces 2.2 can not be installed : One or more constraints have not been satisfied.
JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer.先改web.xmlwebapp节点:<?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_3_1.xsd"version="3.1">然后关闭Eclipse,改项目下的.settings\org.eclipse.wst.common.project.facet.core.xml.将版本改成为3.1,将成后是<installed facet="jst.web" version="3.1"/>,再启动Eclipse.最后出现上面的情况1,按上面更新下配置就OK. 三.<addMavenDescriptor>false</addMavenDescriptor>在Eclipse无效,仍然会将pom.xml,pom.properties打包入jar.在CLI(command-line interface)运行命令,此种情况拒绝使用Eclipse来执行命令(当然你测试打包入去没影响)
maven的5种scope对于3种class是否有效:[html] view plaincopy
compile test runtime example compile Y Y Y spring-core test - Y - junit provided Y Y - servlet-api runtime - Y Y jdbc驱动 system Y Y - 本地的,maven仓库之外的类库文件 左边为第一直接依赖,上边为第二直接依赖,则对应的依赖传递如下:[html] view plaincopy
compile test provided runtime compile compile - - runtime test test - - test provided provided - provided provided runtime runtime - - runtime
依赖调解两原则:
1.路径最近者优先
2.路径长度相同,解析依赖声明靠前优先