Maven Clean、Update、Install 和 Eclipse Clean、Refresh、Build——一个通常正确的顺序?
Maven Clean, Update, Install and Eclipse Clean, Refresh, Build -- a generally correct order?
我有几个相互依赖的 Eclipse 项目。当我尝试构建我的工作区时,我 运行 遇到了多个问题。据推测,如果我执行 Maven 清理、更新、安装和项目清理、刷新、全部构建(我在 Eclipse 中通过 运行 和相应的项目菜单执行所有操作),问题应该会消失。
但是,我很困惑执行这些操作的最佳顺序应该是什么?另外,任何人都可以简要解释一下他们每个人的作用,以便我可以更好地理解并在我可以跳过一些时理解吗?
更具体地说:有人告诉我 运行ning Maven Clean & Maven Install 就足够了。虽然 Maven 安装以 'Build Success' 结束,但我在“问题”选项卡上仍然有错误,并且在尝试 运行 某些特定项目中的某些 类 时出现严重错误 "Could not find or load main class export"。我尝试 运行ning Project Clean 几次,然后再尝试 Project Build 几次,错误可能会出现也可能不会出现。我被建议介绍 Maven Update -> all projects and select all projects > Refresh (F5) 步骤,但我不确定何时执行它们(在清理或安装或构建之后)。
是否有关于如何执行这些操作的任何 'generally correct' 顺序?因此,如果我执行它并且仍然存在一些错误,那么很明显我的版本中有问题,而不仅仅是依赖项?我已经从 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 是默认生命周期的一个阶段,会做很多事情,因为会触发所有之前的阶段(生成源代码、编译、运行 测试等,并最终将您的包放入您的目标目录并将工件放入本地存储库。
第三,关于eclipse。如果您选中了“项目 -> 自动构建”选项,则不必 运行 构建。当eclipse搞砸的时候,我发现执行m2e命令“Maven -> Update project”然后一个Refresh,就够了。此命令会在 .settings 文件夹中重新生成一些文件。在极少数情况下,我不得不自己删除 .settings 文件夹中的所有文件,然后 运行 "Update Project" 命令。
结论:mvn clean install
应该可以完成工作,如果没有 eclipse -> Refresh,如果仍然无法工作 eclipse -> Maven -> Update项目
我也推荐使用最新版本的eclipse和m2e插件。
特别是在我的案例中,以下操作顺序有效:
- 项目 -> 取消选中自动构建
- [接受传入的更改] 如果适用
- 项目 -> 清理
- 运行 -> 运行 作为 -> Maven 清理
- 运行 -> 运行 作为 -> Maven 安装
- 项目 -> 自动检查构建
- 如果“问题”选项卡上出现错误:
- select所有项目,刷新F5
- 如果仍然报错:
- 在Problems选项卡上手动删除错误(可能是Eclipse没有更新依赖等)
- select所有项目,刷新F5
devonfw.com 的最佳实践是分离和解耦命令行 maven 和 eclipse 构建。这救了我的命。魔术很简单,可以在这里找到:
https://github.com/devonfw/devon4j/blob/develop/pom.xml#L544
顺便说一句:devonfw 有很多很棒的模式可供学习。这只是百万分之一。
我有几个相互依赖的 Eclipse 项目。当我尝试构建我的工作区时,我 运行 遇到了多个问题。据推测,如果我执行 Maven 清理、更新、安装和项目清理、刷新、全部构建(我在 Eclipse 中通过 运行 和相应的项目菜单执行所有操作),问题应该会消失。
但是,我很困惑执行这些操作的最佳顺序应该是什么?另外,任何人都可以简要解释一下他们每个人的作用,以便我可以更好地理解并在我可以跳过一些时理解吗?
更具体地说:有人告诉我 运行ning Maven Clean & Maven Install 就足够了。虽然 Maven 安装以 'Build Success' 结束,但我在“问题”选项卡上仍然有错误,并且在尝试 运行 某些特定项目中的某些 类 时出现严重错误 "Could not find or load main class export"。我尝试 运行ning Project Clean 几次,然后再尝试 Project Build 几次,错误可能会出现也可能不会出现。我被建议介绍 Maven Update -> all projects and select all projects > Refresh (F5) 步骤,但我不确定何时执行它们(在清理或安装或构建之后)。
是否有关于如何执行这些操作的任何 'generally correct' 顺序?因此,如果我执行它并且仍然存在一些错误,那么很明显我的版本中有问题,而不仅仅是依赖项?我已经从 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 是默认生命周期的一个阶段,会做很多事情,因为会触发所有之前的阶段(生成源代码、编译、运行 测试等,并最终将您的包放入您的目标目录并将工件放入本地存储库。
第三,关于eclipse。如果您选中了“项目 -> 自动构建”选项,则不必 运行 构建。当eclipse搞砸的时候,我发现执行m2e命令“Maven -> Update project”然后一个Refresh,就够了。此命令会在 .settings 文件夹中重新生成一些文件。在极少数情况下,我不得不自己删除 .settings 文件夹中的所有文件,然后 运行 "Update Project" 命令。
结论:mvn clean install
应该可以完成工作,如果没有 eclipse -> Refresh,如果仍然无法工作 eclipse -> Maven -> Update项目
我也推荐使用最新版本的eclipse和m2e插件。
特别是在我的案例中,以下操作顺序有效:
- 项目 -> 取消选中自动构建
- [接受传入的更改] 如果适用
- 项目 -> 清理
- 运行 -> 运行 作为 -> Maven 清理
- 运行 -> 运行 作为 -> Maven 安装
- 项目 -> 自动检查构建
- 如果“问题”选项卡上出现错误:
- select所有项目,刷新F5
- 如果仍然报错:
- 在Problems选项卡上手动删除错误(可能是Eclipse没有更新依赖等)
- select所有项目,刷新F5
devonfw.com 的最佳实践是分离和解耦命令行 maven 和 eclipse 构建。这救了我的命。魔术很简单,可以在这里找到: https://github.com/devonfw/devon4j/blob/develop/pom.xml#L544
顺便说一句:devonfw 有很多很棒的模式可供学习。这只是百万分之一。