我有几个相互依赖的 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/