java - Maven Clean、Update、Install 和 Eclipse Clean、Refresh、Build——一个通常正确的顺序?

标签 java eclipse maven build rtc

我有几个相互依赖的 Eclipse 项目。当我尝试构建我的工作区时,我遇到了多个问题。据推测,如果我执行 Maven 清理、更新、安装和项目清理、刷新、全部构建(我在 Eclipse 中相应地通过运行和项目菜单执行所有操作),问题应该会消失。

但是,我很困惑执行这些操作的最佳顺序应该是什么?另外,任何人都可以简要解释一下他们每个人的作用,以便我可以更好地理解并在我可以跳过一些时理解吗?

更具体地说:我被告知运行 Maven Clean 和 Maven Install 就足够了。尽管 Maven 安装以“Build Success”结束,但我在“问题”选项卡上仍然有错误,并且在尝试运行特定项目中的某些类时出现严重错误“无法找到或加载主类导出”。我尝试运行 Project Clean 几次,然后再运行 Project Build 几次,错误可能会出现也可能不会出现。我被建议介绍 Maven Update -> all projects 并选择 all projects > Refresh (F5) 步骤,但我不确定何时执行它们(在清理或安装或构建之后)。

对于如何执行这些操作,是否有任何“普遍正确”的顺序?因此,如果我执行它并且仍然存在一些错误,那么很明显我的版本中有问题,而不仅仅是依赖项?我已经从 RTC(一种软件开发团队协作工具)中提取了项目,我的同事们没有这些问题。但是,我最近才拉了它。

最佳答案

首先,你要明白maven和eclipse是两个不同的东西。是的,有一个 m2e 插件(现在捆绑在 eclipse 中)在配置基于 maven 项目的 eclipse 项目方面做得很好。但是,有时 eclipse 会搞砸(几乎总是因为刷新问题)。

其次,你可能要了解Maven Build Lifecycle Basics :

There are three built-in build lifecycles: default, clean and site. The default lifecycle handles your project deployment, the clean lifecycle handles project cleaning, while the site lifecycle handles the creation of your project's site documentation.

所以,基本上:

  • clean 是 clean 生命周期的一个阶段,删除你的目标目录
  • install 是默认生命周期的一个阶段,它会做很多事情,因为会触发所有之前的阶段(生成源代码、编译、运行测试等,并最终将您的包放入您的目标中目录并将 Artifact 放入本地存储库。

第三,关于eclipse。如果您选中了“Project -> Build Automatically”选项,则不必运行 Build。当eclipse搞砸的时候,我发现执行m2e命令“Maven -> Update project”,然后一个Refresh,就够了。此命令会在 .settings 文件夹中重新生成一些文件。在极少数情况下,我不得不自己删除 .settings 文件夹中的所有文件,然后运行“更新项目”命令。

结论:mvn clean install应该做的工作,如果不是 eclipse -> Refresh,如果仍然没有工作 eclipse -> Maven -> Update Project

我还建议使用最新版本的 eclipse 和 m2e 插件。

关于java - Maven Clean、Update、Install 和 Eclipse Clean、Refresh、Build——一个通常正确的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34938056/

相关文章:

java - 一个非常小的 IoC 容器,用于在 Java 中教授控制反转?

java - 使用递归删除链表中第一次出现的元素以及所有出现的元素

maven - 单模块 vs 多模块 Maven 项目

java - 如何在 selenium 中使用 Ashot 对整个网页进行屏幕截图

java - DeepLearning4j的示例编译错误

java - 如何一般地指定可序列化列表

java - 上传到 Blobstore 会出现 Java 堆 OutOfMemoryError

java - Eclipse 编辑器允许接口(interface)中缺少 static 和 Final 关键字

eclipse - 混帐和 eclipse

java - 访问资源文件错误