Eclipse 引用 Maven 的旧类文件。每次我进行一次更改时都必须重新构建项目

Posted

技术标签:

【中文标题】Eclipse 引用 Maven 的旧类文件。每次我进行一次更改时都必须重新构建项目【英文标题】:Eclipse referring old class files of Maven. Have to re-build the project everytime I make a single change 【发布时间】:2016-08-22 16:14:33 【问题描述】:

我在 Eclipse 工作区中使用 Maven 项目。 但是,不知何故Eclipse 在运行程序时引用了旧的.class 文件。 因此,每次我对任何java 程序进行任何更改时,我都必须重新构建完整的项目。

我尝试过执行像eclipse:cleaneclipse:eclipse 这样的maven 命令。 但是,他们没有帮助。 我的eclipse也设置为project - build automatically

有没有办法让Eclipse 引用当前构建的.class 文件,而不是之前构建的maven .class 文件。

注意:我使用的是 Eclipse Mars 提前致谢。

【问题讨论】:

Clean 不会删除所有旧的类文件? 问题是,我启用了build automatically,但是当我选择Build Project / build all projects 时,Eclipse 没有构建任何项目。只有当我进行Maven 构建时,它才会重新构建整个项目。 因此,如果我执行eclipse clean project,然后尝试运行项目,我会收到Could not find or load main class 错误。 你在使用 M2Eclipse 吗? @Peter:不,我使用的是 Eclipse Mars,Maven 已经默认集成到 Mars。 M2Eclipse 是不同的版本吗?以及如何提供帮助? 【参考方案1】:

我害怕。没有办法自动完成。即使你找到了这样做的方法。不能保证日食会随着新的战争而建立。

无论您是手动进行 mvn clean install 还是使用 intellij idea,它都非常稳定。没有构建问题。每次保存时都会生成新的战争文件。

【讨论】:

这很奇怪。至少应该有某种方法可以解决这个问题。【参考方案2】:

发布我的问题的答案:

有时 Eclipse 的 .project 文件会损坏。简单的解决方案是:

    从 Eclipse 中删除项目。 关闭 Eclipse。 转到您项目的文件夹并删除“.settings, .project, .classpath, bin” 再次打开 Eclipse,再次导入您的项目。

这样总是有效的。

【讨论】:

以上是关于Eclipse 引用 Maven 的旧类文件。每次我进行一次更改时都必须重新构建项目的主要内容,如果未能解决你的问题,请参考以下文章

eclipse设置-去掉资源搜索框的class文件 及 隐藏maven父级项目的引用查找

maven 得到引用类源代码,命令

我用eclipse弄了个maven,然后每次修改jdk的时候都会在java resources上有个红叉

maven profile实现多环境配置

将项目导入 Eclipse 时禁用 Maven 项目构建器

如何导出项目pom中引用的mavenjar包