从Eclipse Project中删除Maven性质和文件(pom.xml,target /)后,“无法找到或加载主类”

时间:2014-07-03 02:34:21

标签: java eclipse maven m2eclipse

我通过转到配置>意外地将我的项目转换为Maven转换为Maven项目。现在我要撤消这个。我read我需要右键单击 Maven>禁用Maven Nature 并且运行正常。但是我想完全删除Maven,因此我删除了pom.xmltarget文件夹。当我尝试现在运行我的代码时,我收到错误:

Error: Could not find or load main class

那我错过了什么?如何从Maven项目恢复到非Maven项目?

2 个答案:

答案 0 :(得分:2)

当您在Eclipse中将Java项目转换为Maven项目时,Maven Integration for Eclipse(m2eclipse)将Java增量编译器配置为将编译后的类文件放在Maven放置它们的相同位置,即{{1} }。

因此,当您删除Maven属性并删除target/classes文件夹时,您现在也已删除已编译的类文件,并且您的项目无法再运行。 AFAIK,增量编译器在删除其输出文件时不会检测到,因此您需要通过清理项目来触发重建( Project> Clean ...

这将解决您无法启动项目的问题,但可能会重新创建target文件夹。如果您还希望将其“修复”,则可以切换回二进制文件的其他文件夹名称,例如{em> Source 选项卡上项目的 Java Build Path 配置中的target

答案 1 :(得分:1)

它基本上是一个Maven项目,即你是否通过pom.xml进行维护?然后我的建议是删除Eclipse中的项目,但将文件保存在磁盘上(即,它将其从工作区中删除)。然后,运行一个简单的mvn eclipse:clean eclipse:eclipse,它创建一个简单的Java项目而没有基于POM的Maven特性(因此库被链接并且源/输出目录设置正确 - 这可以解决您的ClassNotFoundError )。

如果它是一个简单的Java项目,我建议从工作区中删除它,删除.classpath.project文件,然后使用创建一个Java项目再次导入它现有来源向导。

无论哪种方式,在开始做任何事情之前备份你的项目: - )