解决项目提示 Cannot change version of project facet Dynamic Web Module to 2.5 错误

首先想要说的就是问题的来源,之前学习spring flow的时候,从网上找了一个spizza的一个工程,但是导入到自己的eclipse中却出现了很多问题。

问题1:

在Markers控制台中出现了类似于“在本地工程的路径下找不到aop的包或者不能正常解压”的问题,由于问题已经解决,没有留下截图。我试着去打开”Maven Dependencies”中的aop的包,发现它不能像其他包那样可以展开并查看.class文件,于是我”maven update”一下,发现还是存在这样的问题,

解决:

我在pom.xml文件中将工程依赖的spring版本修改了一下(4.3.5—>4.3.9)并”maven update”,所依赖的jar包正常下载导入,问题得到解决。但是为什么会有这样的问题还不清楚。


问题2:

在Markers控制台中出现了类似于“目标工程需要运行在tomcat7中”的错误,因为平时使用的6和8多一些 ,所以期初不以为然,在build path之后发现还是有错误。

解决:

如果只是需要解决这个问题,那么下载一个tomcat7,将工程加入到tomcat7中就可以了,但是我一直好奇,这个配置是从哪里来的。下面就会看到为什么会发生这样的错误。


问题3:

最烦的一个问题就是“项目提示 Cannot change version of project facet Dynamic Web Module to 2.5 错误”

这里写图片描述
问题的截图如上所示,描述是相同,只不过提示的版本可能有所不同。(仅供参考)

解决:

首先找到工程路径下的“.setting”文件夹下的“org.eclipse.wst.common.project.facet.core.xml”文件,打开后如下图所示:

这里写图片描述

这是修改之前的,可以看到,里面有一个 < runtime name=”Apache Tomcat v7.0”/>节点,所以也就解释了为什么会提示用tomcat7来运行工程。

web.xml文件:
这里写图片描述
因为工程中的web.xml文件中的version是2.5,但是在这个xml文件中写的是2.3,所以会有“不能将项目的动态Web模块的版本更改为2.5”的问题出现。将2.3改成2.5问题就可以解决了。

并且可以看到java的版本是1.5,由于现在日常使用的版本都是1.8,所以 < installed facet=”java” version=”1.5”/>中我将它改成了1.8。

这是改后的xml文件:
这里写图片描述

并且在网上查了一下这个文件的作用:org.eclipse.wst.common.project.facet.core.xml指示了项目中启用那些facet及facet的版本。
推荐查看下面这篇文章,对Eclipse中.setting目录下文件进行了简单介绍:
Eclipse中.setting目录下文件介绍

还需要提示的是,有对jdk的三处配置应该相同,可以根据下图的提示进行设置:
这里写图片描述

在工程上右键点击Properties出现此弹窗,然后在Java Compiler中箭头所指的地方,进行设置。

网上也有解决方案是利用Project facets,但是我的eclipse中并没有这个选项,可以参考下面的方式去安装这个插件:
eclipse 工程 没有project facets选项

但是我发现我的eclipse还是搜索不到这个插件,所以这个问题只能搁置了。


总结:
上述内容是在导入一个maven工程发现的问题,没有什么太多的技术问题,解决过程很艰辛,花费了很多时间,所以记录下来,以防不测。感谢网友提供的解决方案。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值