【问题标题】:"mvn clean install" failed in command line, but passed in intellij“mvn clean install”在命令行中失败,但通过 intellij
【发布时间】:2019-11-28 16:48:14
【问题描述】:

java 和 intellij 的新手,如果我不能清楚地描述这个问题,请原谅我。 全新安装 intellij,全新导入 java 项目。

从一开始,似乎项目在 intellij 中构建良好,在 GUI 中有 clean/compile/verify/install/... 生命周期。我点击清理,然后安装,它触发单元测试并全部通过。现在我在命令行中进入项目根目录,“mvn clean install”也通过了。

现在我对资源文件 *.sql 进行更改,该文件用于单元测试的内存数据库设置。我点击清理,然后安装,仍然成功通过。

现在我再次进入命令行,“mvn clean install”在单元测试中失败。

我现在很困惑,无论哪种方式我都在做“干净”,请问是什么原因以及应该如何解决它?

顺便说一句,在visual studio工作了这么久,这个java和intellij让我心塞,为什么java中的构建系统如此困难和混乱?

【问题讨论】:

    标签: intellij-idea


    【解决方案1】:

    您的项目的配置可能与 maven pom.xml 文件不同。当两者配置不同时,您将遇到问题。我猜想在 IntelliJ 项目文件中正确配置了某些依赖项,但在 pom.xml 中没有。我通常有相反的问题。我只使用 pom.xml 指定依赖关系,并依赖 maven 插件刷新项目(eclipse)。

    使用 IntelliJ 已经有几年了,但我记得同样的想法。尝试删除项目文件,并导入现有的 maven pom 文件。然后仅使用 pom.xml 而不是 IntelliJ 的项目接口修改您的依赖项。如果 pom.xml 定义正确,项目导入将首先尝试。这在很大程度上取决于之前参与该项目的开发人员。

    【讨论】:

    • 有道理。难题是,当我一开始在 initellij 中打开项目时,我很确定我浏览并打开了完全相同的现有 pom.xml。在那之后,我再也没有编辑过 pom.xml。
    • 你是“打开项目”,还是“导入 pom”?
    • 是的,我的意思是启动 intellij 时的“导入项目”
    • Import Project 会让你选择一个 pom 文件
    • 顺便说一句,Kieveli 感恩节快乐!
    【解决方案2】:

    Maven 实际上是一个非常强大(如果有时不是古怪的话)的构建工具,命令行执行或“内部”IntelliJ 执行之间的区别通常很容易解释。

    请检查:

    • 您正在运行相同版本的 maven(使用 -version 检查命令行,与设置中的 intellij 设置进行比较
    • 您正在为 maven vs intellij 使用相同的本地 .m2 文件夹(本地 repo)
    • 您没有在 intellij 中使用任何“配置文件”运行(检查是否未勾选)。
    • 您没有跳过任何测试,因为它们以“IT”结尾(意思是集成测试)

    这些是造成差异的常见原因。

    如果您发布失败构建的日志,我们可能会提供更多帮助。

    【讨论】:

    • 抱歉回复晚了,mvn在命令行是3.6.2,在intellij是3.6.1,差别不大,但我不明白为什么不同的版本,全新的mac,全新的安装maven 和 intellij
    • Intellij 使用 /home/user/.m2,这个文件夹中有一个 settings.xml。我在此 MAC 中没有创建任何其他 .m2 文件夹。对于命令行,我不知道它是否使用相同的 .m2,但正如我所提到的,我只创建了一个 .m2。
    【解决方案3】:

    好的,我的朋友发现了问题,在 intellij 的 Maven 设置中,有一个“Runner”页面,那里有一个“Skip test”。在我的情况下,它被检查了,所以 intellij 中的运行跳过了单元测试(应该失败)并做了所有其他的事情,让它看起来像是通过了。 对我来说还有几个难题,但是这个“Runner”->“Skip test”解决了这个问题。 对 intellij 非常不满。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-02
      • 1970-01-01
      • 2013-10-23
      • 2020-03-23
      • 2021-04-23
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多