当前位置: 首页 > 知识库问答 >
问题:

Eclipse Build项目和Maven Compile命令之间的区别

楮杰
2023-03-14

Eclipse“build project”命令与Maven命令“mvn compile”相同吗?两者基本上都做同样的事情吗?

如果是,那么为什么我需要在运行“mvn clean install”之后在STS中做一个“构建项目”来运行应用程序而没有任何问题呢?运行“mvn clean install”应该已经编译了项目。难道在STS中刷新项目不应该足以运行它吗?

共有1个答案

尉迟鑫鹏
2023-03-14

简单的回答是否定的,maven构建和eclipse构建是不一样的。

基本上,eclipse有自己构建东西的方式,与Maven关系不大。在最基本的层次上,Eclipse只是使用自己的Java编译器(Eclipse JDT的一部分)进行Java编译。

很难给出它们有何不同的精确答案,情况相当复杂,而且这取决于您安装了什么东西(Eclipse插件)。

M2E试图使Eclipse IDE的行为尽可能地“模拟”Maven的命令行行为。它通过配置eclipse项目来实现这一点。例如,基于maven POM设置源文件夹、类路径等。如果您的POM不做“花哨”的事情(即使用一些不太常见的maven插件),那么这将非常有效。

当您确实在pom中使用maven插件来做一些“特殊”的事情,比如可能生成一些代码,或者其他什么,那么m2e有一个插件机制,允许maven插件作者定义一个相应的eclipse插件来“教eclipse”如何做同样的事情。

这可能会很麻烦,因为并不是所有的maven插件都有相应的Eclipse插件,即使有,它们也不会自动安装到Eclipse实例中。

如果您没有插件来“教Eclipse”您的POM的一些插件。M2e会给你一个关于生命周期映射的错误。这表明m2e和maven命令行可能不会对您的项目“做同样的事情”,而这取决于您以某种方式来解决它(例如,通过安装相应的Eclipse“项目配置器”)。

 类似资料:
  • 本文向大家介绍grep和fgrep命令之间的区别,包括了grep和fgrep命令之间的区别的使用技巧和注意事项,需要的朋友参考一下 在任何语言或框架中,最重要和主要的功能之一就是搜索数据。它不仅表示语言的性能,还表示存储数据的方式。因此,特别是如果我们以LINUX操作系统为例,则有两个重要的命令,即grep和fgrep。 这两个命令都用于搜索文件,目录甚至多个文件夹中的任何字符串或正则表达式。这两

  • 我一直试图理解command:和command:-在我的docker组合文件中的区别: 我在这里错过了什么?

  • 对于我的新JAVA应用程序,我希望开始使用IntelliJ创建一个新的JSF2.2项目。该项目将是一个web应用程序,并将使用Maven。

  • 我第一次安装Phonegap,只是浏览了一下文档。令我困惑的是,一些文档正在使用命令“phonegap”和一些“cordova”。 Android平台指南: 《命令行界面指南》告诉我们: 这两个命令之间是否有差异(导致不同的文件和文件夹结构),或者它们只是同一事物的别名?

  • 我发现了一个结果 alpha命令和beta命令有什么区别?

  • 问题内容: 策略模式和命令模式有什么区别?我也在寻找Java中的一些示例。 问题答案: 通常,命令模式用于使对象脱离 需要完成的工作 -进行操作及其参数并将其包装在要记录的对象中,以备撤消,发送到远程站点等。随着时间的流逝,它们将往往是大量不同的Command对象,它们会通过系统中的给定点,并且Command对象将包含描述所需操作的各种参数。 另一方面,策略模式用于指定应 该如何做 ,并插入到较大