Eclipse编译后无法在Eclipse中看到目标/类文件夹

10
在运行了mvn clean compile install命令后,我在eclipse的"target/classes"文件夹中看不到任何文件。但是在文件系统中,该文件夹中有编译好的类文件。但是当我开始运行单元测试时,它显示"没有target/classes文件夹"。
有任何想法吗?
3个回答

12
解决方案为:右键单击项目 -> 属性 -> 构建路径 -> 源选项卡 -> "为源文件夹允许输出文件夹",并将输出文件夹目标/classes显式添加到每个源文件夹中。这对我有效,并在添加所有文件夹后,可以编译和执行该项目。

2
是的,但由于Maven更新(alt-F5)后,某种原因导致此标志不断重置为已选中状态。您有什么想法是POM文件中告诉Eclipse这样做的吗? - Marc
1
@Marc 这个标志位存储在项目的.classpath中。我看到和你一样的行为。即使我手动编辑这个文件来尝试强制设置,它仍然不起作用。 :( - SiKing
我也遇到了同样的问题。我注意到 target\test-classes 目录下的文件是可以的,但 target\classes 下的文件不行。从有效的 POM 中,我复制了相关部分,并提供 target\test-classes 替代。现在,至少我得到了一个完整的 JAR 快照,而不是空的! - Davut Gürbüz
取消勾选“允许为源文件夹创建输出文件夹”,选择并点击应用。这对我有效。谢谢Dennis... - susan097
当您在将来的某个时候更改pom.xml时,Eclipse将更新其.project和.classpath文件,您将丢失对构建路径所做的更改。 - Robert Newton

6
根据我的经验,Eclipse似乎不会监控文件系统的更改。因此,如果您手动从命令行运行maven并创建类,则需要在Eclipse中右键单击项目(例如从导航器中),然后单击“刷新”,之后才能看到新文件。
您还可以安装m2em2-wtp Maven插件用于Eclipse,并从Eclipse内部运行构建过程,这样应该可以检测到文件系统上的所有更改。

感谢@Grove提供的好建议。我已经找到了解决方案。解决方案是:右键单击项目->属性->构建路径->源选项卡->“允许为源文件夹添加输出文件夹”,并将输出文件夹目标/类显式添加到每个源文件夹中。这对我很有效,添加所有文件夹后,项目可以编译和执行。 - Dennis Ahaus
很酷,我很高兴能够提供帮助。此外,如果没有任何建议的答案是正确的,您可以发布自己的解决方案并将其选择为问题的正确答案。不一定每次都是别人的回答。干杯,伙计。 - Morfic

1

偏好设置 -> 一般 -> 工作区 -> 使用本机挂钩或轮询刷新

启用后,外部编辑器所做的任何更改都将被工作台自动发现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接