我无法理解为什么在这两个步骤之后Eclipse
Run as
- > Maven clean
Project
- > clean...
我仍然可以使用带有白色箭头的绿色图标来运行我的程序吗?
我认为清理后没有.class
个文件。我期待像ClassNotFound
这样的例外,但事情并非如此。
您知道如何在Eclipse
中正确清理项目吗?
答案 0 :(得分:3)
eclipse中的清洁与maven中的清洁不同。
Maven的干净确实删除了所有已编译的资源(类等)。
eclipse中的清理项目是一种mvn clean compile
,即它会删除*class
个文件并再次编译所有*.java
个文件。
答案 1 :(得分:1)
在启动应用程序的代码时,您可以添加:
System.out.println("Classpath=" + System.getProperty("java.class.path"));
你可以分析它(nornally我使用notepaddpp通过类路径分隔符将其拆分并排序) - 也许它指的是maven repo中包含类的jar?有时类文件夹首先在类路径上,因此在jars之前,即使在jar中有相同的类。
答案 2 :(得分:1)
我刚用Maven
中的Eclipse
个项目检查了这个现象,这就是我观察到的。顺便说一下,不要相信您在Package View
中看到的内容,请使用您的文件系统资源管理器。
以 - >运行Maven clean:删除目标文件夹
项目 - > clean ...:创建包含空子文件夹“target
”和“classes
”的test-classes
文件夹。在Eclipse's
Package Explorer
视图中,我看到一个空的目标文件夹。
此时我会说清除Maven
中Eclipse
项目的正确方法就是“运行为 - > Maven
干净。
现在解决清理后程序运行的原因。我在项目中运行程序后,Eclipse
编译并使用* .class文件和资源填充“target/classes
”和“target/test-classes
”文件夹。在Eclipse's
Package Explorer
视图中,我仍然看到一个空的目标文件夹。
解决这个问题的技巧是使用系统文件资源管理器查看项目目录和子目录,而不仅仅是Eclipse's
Package View
或Project View
。
答案 3 :(得分:0)
这可能是因为eclipse会在你运行它时自动构建你的项目