最后点击ok,文件生成成功。
错误2.5
你跟新的jar包中,缺少这个包, 你重新加载一次
第一步:选中项目,先project----》clean一下。
第二步:选中项目,Debug AS------>maven clean
第三部:加载pom里的jar,Debug AS------>maven INSTALL
错误2.6
pring-web 的jar包没导进去
jar包邮冲突,把重复的jar包删除
在加上<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-*.xml</param-value>
</context-param>
因为默认的读取的是/WEB-INF下的配置文件,如果配置文件在src中要把路径改为类路径底下
4.把工程刷新一下,因为工程是部署在服务器底下的,要把加入的jar包部署到工程里。
错误2.7
问题:
使用Myeclips 2014创建Maven web项目后,
JSP 报错:The superclass "" was not found
如下图所示:
针对上述问题有下列两种解决方案:
解决1:
1. 在Maven的pom文件中加入依赖即可:
<dependency>
<groupId></groupId>
<artifactId>-api</artifactId>
<version>3.1.0</version>
</dependency>
解决2: 添加库
项目 --> 右键 --> Build Path --> Configure Build Path.. --> Add Library -->MyEclipse Server Library
因为项目中用到Tomcat 8,所以添加了Apache Tomcat v8.0 Runtime Libraries
如下图所示:
错误2.8
在使用Maven时,经常会遇到jar包冲突的问题,解决办法:
在文件中使用maven的exclusions工具,语法如下:
避免Hadoop-client-2.2.引入hadoop-hdfs-2.2.
<dependency>
<groupId></groupId>
<artifactId>hadoop-client</artifactId>
<version>2.2.0</version>
<exclusions>
<exclusion>
<groupId></groupId>
<artifactId>hadoop-hdfs</artifactId>
</exclusion>
</exclusions>
</dependency>
加入后,hadoop-client-2.2.将不会引入hadoop-hdfs-2.2.
错误2.9 jar包冲突
首先要说明Maven的依赖管理,具体的可以参考这边 Maven学习——依赖管理 这篇文章,maven在依赖冲管理中有一下几个原则。
依赖是使用Maven坐标来定位的,而Maven坐标主要由GAV(groupId, artifactId, version)构成。如果两个相同的依赖包,如果groupId, artifactId, version不同,那么maven也认为这两个是不同的。
依赖会传递,A依赖了B,B依赖了C,那么A的依赖中就会出现B和C。
Maven对同一个groupId, artifactId的冲突仲裁,不是以version越大越保留,而是依赖路径越短越优先,然后进行保留。
依赖的scope会影响依赖的影响范围。
当出现了依赖的时候如何快速定位冲突原因但出现了冲突的时候,比如系统出现了NoSuchMethodError,LinkageError 很有可能是你系统中出现了依赖冲突。出现冲突以后,可以按以下的步骤执行
1.确定出了问题的jar包名称。通常可以在eclipse中查找冲突的类有在哪些依赖包里面出现了。并确定实际要使用的是那个包,冲突的包有哪些。
2.通过mvn dependency:tree > 导出全部的依赖。
3.在导出的依赖文件中,查找问题相关的jar。确定这些jar是如何被依赖进来的,是直接依赖的还是通过传递依赖引入的。
4. 找到相互冲突的并需要排除的依赖的*依赖,并分析冲突的原因,冲突的原因可能是以下几种:
同一个jar包但groupId, artifactId不同,这种冲突只能通过设定依赖的<exclusions> 来进行排除
需要的版本jar包依赖路径较长,这种冲突可以把想要版本的依赖直接什么在依赖中,这样路径就最短了优先级最高。
5.最后可以通过打包mvn install 来确认打出来的war包中是否有被排除的依赖。
错误2.10
Maven项目导入eclipse中很多时候都出现报错的情况,出错的原因大致可以分为下列几种:
JDK版本不一致
网络问题无法下载,可以尝试开vpn下载
私有jar包
maven仓库中的某个构件如果因为网络或者其他的原因,没有下载成功或者下载被中断,将会出现一个LastUpdated的文件,这个时候,就算网络好了,也不能正常使用这个构件。
在linux系统上可以切换到仓库的目录下执行:
find ./ -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;
执行上面的命令后删掉本地仓库的.lastupdate文件,重新构建,必要的情况可以开vpn下载。
某些一直报错的jar包,校验MD5,不对的请删掉重新构建;
错误2.11
一、无论maven还是eclipse打包都有如下的错误(错误在最后面):
二、其中错误的原因——大致是文件中中文有编码错误,导致后面的文件无法编辑下去,致使整个项目起不来;
三、解决方法:
在eclipse中已经设置了utf-8的编码格式,但依然出现这个警告,后来查阅资料,在文件中添加上述语句,问题解决:
<properties>
<>UTF-8</>
</properties>
四、从同事那里get到的一点小技能整理备用——就是排除错误的思路:
①、先到具体工作空间位置上:E:\workspace\back_wifihotel_table_workspace\back_wifihotel
②、按住shift键,再点击鼠标右键选择"在此处发开命令窗口";——这是一种快捷的方式
③、之后就可以输入mvn clean 、mvn package等命令了
问题1:
- system propery is not set. Check $M2_HOME environment variable and mvn script match.
解决1:
可以设一个windows os's环境变量M2_HOME指向你的maven安装目录
M2_HOME=D:\Apps\apache-maven-3.3.1
然后在Window->Preference->Java->Installed JREs->Edit
在Default VM arguments中设置
-=$M2_HOME
问题2:
: /
解决2:
选中项目->右键Properties->选择Deployment Assemby->选择Add->选中Java Build Path Entries->Next->选择Maven Dependencies->Finish->Apply->OK
问题3:
The import cannot be resolved
解决3:
Eclipse -> Project -> Clean...
Ok.
问题4:
Caused by: : No bean named 'shiroDBRealm' is defined
解决4:
<property name="realm" ref="shiroDBRealm" />
<bean class=""></bean>
配置id和ref的大小写不一致(ctrl+f搜索不区分大小写一致).字母B/b.
问题5:
java project 转换exchange maven project:
[ERROR] Plugin :maven-jar-plugin:2.4 or one of its dependencies could not be resolved: Failure to find :maven-jar-plugin:jar:2.4 in http://localhost:8081/nexus/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] /confluence/display/MAVEN/PluginResolutionException
解决5:
在Convert to Maven Project的时候修改下:<version>0.0.1-SNAPSHOT</version>到<version>0.0.1</version>后maven clean install.
问题6:
九月 13, 2015 1:20:48 上午 listenerStart
严重: Exception sending context initialized event to listener instance of class
: IOException parsing XML document from file
[D:\developer\softwares\servers\apache-tomcat-8.0.24\webapps\weloveshare\WEB-INF\classes\];
nested exception is : 3 字节的 UTF-8 序列的字节 3 无效。
Caused by: : 3 字节的 UTF-8 序列的字节 3 无效。
error文件
解决6:
最终解决:
1使用软件"010 Editor是一个全新的十六进位文件编辑器"查看文件头有乱码,删除保存就ok了.
2由于,我,重新整理的分区(双系统),无奈下,我重新搭建了一个项目,复制代码过去就ok了.
问题7:
[ERROR] Failed to execute goal :maven-surefire-plugin:2.12.4或Failed to execute goal :maven-compiler-plugin: 2.4..
解决7:
解决:重启一下就好了,或删除本地maven仓库对应的包(涉及到的根包一起删)
问题8:
[ERROR] [Help 1] /confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] /confluence/display/MAVEN/ModelParseException
解决8:
dependency没有在dependencies里面
问题9:
maven中加入新的:dependency在install的时候,报错nexus没有相应的jar包
解决9:
主要删除本地maven的repositories下的相应位置jar的路径,重新install就ok.
或者重启nexus或没有启动nexus。
问题10:
Java Project转maven project因为出错没有Maven Dependencies路径
解决10:
工程右键:Maven->Disable Maven Nature
然后,再次重新转maven:
Configure->Convert to Maven Project. ok!
注:一般不用重启nexus服务器,除非由于进程端口占用或者服务停止,或者服务器关机或者死机,删除本地相对应的路径文件,clean install 则解决!
问题11:
设置后,clean install编译不报错,就是不能加载Maven Dependencies和下载jar包
解决11:
因为<dependency>在<dependencies>中,但<dependencies>又在<dependencyManagement>中,删除最外层的<dependencyManagement>后,clean install 则解决!区别解释,备注附件!
问题12:
如果中<dependency>标签报错画红线并报红叉,错误:Missing artifact :kaka:jar:0.0.1
在Markers中报错:
Description Resource Path Location Type
Missing artifact :kaka:jar:0.0.1 /zJavaDemo line 20 Maven Dependency Problem
此问题解决,也适合第三方无依赖jar和本地扩展类加入maven统一管理
解决12:
1:如果为其他技术支持网站提供的的正确的依赖<dependency>,则删除本地maven的repositories下的相应位置jar的路径和所有文件,再clean install 则解决!
2:Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理)
Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理)
问题13:
Description Resource Path Location Type
Project configuration is not up-to-date with . Run Maven->Update Project or use Quick Fix. webproject line 1 Maven Configuration Problem
解决13:
项目上右键 ——> Maven ——> Update Project ……,打开一个(Update Maven Dependencies)的对话框,然后勾选住出错的项目,点击Ok
问题14:
Description Resource Path Location Type
Java compiler level does not match the version of the installed Java project facet. webproject Unknown Faceted Project Problem (Java Version Mismatch)
解决14:
workspace下本项目的.setting下文件(修改和jdk一致版本):
=1
=enabled
=1.8
=1.8
=error
=error
=warning
=1.8
问题15:
[ERROR] D:\DeveloperX\Code\Java\src\main\java\com\tsxs\module\utils\:[3,25] 错误: 程序包不存在
[ERROR] D:\DeveloperX\Code\Java\src\main\java\com\tsxs\module\utils\:[14,41] 错误: 找不到符号
解决15:
项目右键 --> properties --> Java Build Path的libraries保证只有:JRE System Library[jdk1.8.0.66]和 Maven Dependencies
注:如果还有Apache Tomcat v8.0[Apache Tomcat v8.0]则,Remove删除它,在中添加以下依赖让maven统一管理!
注:版本看自己jdk和tomcat版本
<!-- servlet/jsp -->
<dependency>
<groupId></groupId>
<artifactId>-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId></groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>