Maven项目被clean命令之后的红叉

Maven项目被clean命令之后的红叉

 

关键词:maven,cannot be resolved to a type,eclipse,clean

公司全面转入Maven项目开发,对于传统的Java项目开发过程,Maven无疑如虎添翼,不但高效,而且提供一种优雅的项目结构和管理形式,完全脱离。不过对于初用的同学觉得驾驭它有些困难,尽管我为同事们做了两次培训,仍然有不少问题出现。现抽取一个常见的问题来写一篇博客。

该问题的特征是,使用Eclipse集成Maven开发项目,执行clean命令后,原来编译的结果被清掉,然后在编辑、编译源代码或运行时报“XXX() cannot be resolved to a type”错误,EclipsePackage Explorer窗口出现大量的红叉。这种现象是被IDE之外的命令清除了结果,IDE不能找到编译文件。

解决的办法是:Eclipse菜单中找到Project -> Build automatically,并确定是勾选的,其次点击Project -> Clean…菜单命令项,在弹出的对话框中找到工程,如果是多个工程依赖开发,可以选择“Clean all projects”,然后点击“OK”按钮。此过程Eclipse会清除项目中编译的.class文件,同时重新编译工程(类似于jBuild中的Rebuild功能)

我们知道,Maven可以托管项目的整个生命周期,它从验证、源代码管理、编译、测试、打包、分发、部署(安装)整个系列过程都会参与。而IDE也可以完成这些功能,因此两者之间会出现重复却不能智能协作的操作,Maven清除了Eclipse编译结果,Eclipse则以红叉叫嚣。

当然,由于m2e插件在不断地升级,将会协作得更好(目前仅发展到了0.12版本,似乎离1.0正式版本还有很长的道路)。实践过程中,首要是排除项目中的错误,如果项目中存在错误,Eclipse也不会自动编译的。通过Problems窗口可以看到错误报告(可在菜单Windows -> show views中找到并显示),报告中有错误,务必先修复,否则无法强制Eclipse编译。

最后向大家奉献我在公司做培训的Maven PPT(下载),问题可询:zhangjihao@sohu.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值