当前位置: 首页 > 面试题库 >

在Maven中,为什么要运行“ mvn clean”?

阴福
2023-03-14
问题内容

我想知道运行mvn compilemvn clean compile实际运行之间的主要区别是什么。

我知道实际的区别是什么,即mvn clean compile删除所有生成的文件并从头开始,但是为什么我们要这样做呢?我可以假设mvn compile会在必要时重新生成文件,对吗?

我在项目中注意到的一件事是,如果您删除了源文件而不运行clean,则编译后的文件仍会保留,通常这不是问题,但我想是可以的。


问题答案:

某些插件需要使用clean才能正常工作。例如(至少在Maven 2中),将maven-war- plugin每个从属WAR爆炸到现有的目录树中。它需要a clean摆脱从相关WAR中删除的文件。

另一个问题是,重命名类时,旧的编译版本会在生成树中徘徊,并且会包含在JAR文件等中,直到运行为止mvn clean

我可以假设“ mvn compile”将在必要时重新生成文件,对吗?

对于主流插件,这是一个合理的假设。但是,如果您使用的是插件来生成源代码组件,则请仔细阅读文档以及生成的源代码的放置位置。例如,有几个不受支持的插件,其目的是驱动Eclipse
EMF代码生成器。



 类似资料:
  • 问题内容: 在GO教程中,我们有这张幻灯片:Goroutines 运行此代码会产生预期的结果(“ world”和“ hello”交替写入屏幕5次)。 但是,如果我们注释掉了(因此是导入行)并再次运行该程序, 则只剩下 “ hello”被写入屏幕五次了。 有什么重要的意义可以使goroutine免于死亡? 问题答案: 如果将其删除,则不会给goroutine运行的机会。goroutine调度程序不是

  • 我在不同的地方对此进行了研究,包括stackoverflow,但我找不到一个对我有帮助的答案。 我使用的是Windows 7,64位,Atom用于64位Windows。我在目录C:\Users\Austin\Documents\Python中安装了Python 3.6.1。当我试图在Atom中运行一个简单的脚本来测试Python时,它说 “python”不被识别为内部或外部命令、可操作程序或批处理

  • 我的目标是从一个项目中创建一个原型。 当我运行一个不涉及maven原型插件的目标时,我看不到任何警告: 另一方面,当我运行archetype:createfromproject时,我得到了几个: 我知道标准的maven方法是使用属性。为了解决这个问题,我试图向pom添加更多的属性,但没有一个有效。 有什么想法吗?谢谢 我有下面的pom。xml:

  • 嗨, 我是Spring boot gradle项目的新手。我正在尝试用Spring boot应用程序运行flyway迁移。这就是我在gradle中设置依赖项的方式, 首先,我将依赖项添加为。这足以暴露一个终点。 然后我尝试以的方式添加flyway依赖项,它既没有抛出错误,也没有运行迁移脚本,直到我添加了依赖项。在查看了data-jpa jar的pom.xml之后,我确定了这个jar的hiberna

  • 我不想在这里使用maven或gradle。我知道gradle可以帮我解决依赖关系。我只想要一个普通的香草Kotlin你好世界项目。文档中有一个“IntelliJ理念入门”部分,其中只提到了IntelliJ的Kotlin插件。似乎没有安装gradle或maven的要求,插件应该可以做到这一点。我知道您可以使用手动安装SDK,但文档是错误的,并且仅此插件无法在之前手动安装SDK或使用Maven/Gra

  • 问题内容: 据说Golang是 编译 语言,但它是什么意思由 编译 ?如果golang应用程序已编译为机器代码,为什么我不能只分发二进制文件(当然是在相应的arch和平台上)而不是分发东西? 问题答案: 编译二进制文件后, 可以 将其分发到具有相同体系结构的计算机上。 等只是编译所必需的。