java和intellij的新手,如果我不能清楚地描述问题,请原谅我。 全新安装的intellij,全新导入的Java项目。
从一开始,该项目似乎就可以在intellij中很好地构建,在GUI中,存在着生命周期的清理/编译/验证/安装/...。我单击“清洁”,然后安装,它会触发单元测试并通过所有测试。现在我进入命令行的项目根目录,“ mvn clean install”也通过了。
现在,我对资源文件* .sql进行了更改,该文件用于单元测试的内存数据库设置。我单击清洁,然后安装,仍然成功通过。
现在我再次进入命令行,“ mvn clean install”在单元测试中失败。
我现在很困惑,无论哪种方式我都在做“清洁”工作,是什么原因以及如何解决这个问题?
顺便说一句,在Visual Studio中工作了很长时间之后,这个java和intellij给了我心脏病,为什么Java中的构建系统如此困难和混乱?
答案 0 :(得分:1)
您的项目的配置可能与maven pom.xml文件不同。如果两者的配置不同,则会遇到问题。我猜想在IntelliJ Project文件中正确配置了一些依赖关系,但在pom.xml中没有正确配置。我通常有相反的问题。我仅使用pom.xml来指定依赖项,并依靠maven插件刷新项目(日食)。
使用IntelliJ,已经有几年了,但是我记得同样的想法。尝试删除项目文件,然后导入现有的maven pom文件。然后仅使用pom.xml而不使用IntelliJ的项目界面来修改依赖项。如果正确定义了pom.xml,则将首先尝试进行项目导入。这在很大程度上取决于先前从事该项目的开发人员。
答案 1 :(得分:1)
Maven实际上是一个非常强大的(有时不是很古怪的)构建工具,并且在命令行或“内部” IntelliJ中执行之间的差异通常很容易解释。
请检查:
.m2
文件夹(本地存储库)这是造成差异的常见原因。
如果您发布失败的构建日志,我们也许可以提供更多帮助。
答案 2 :(得分:0)
好的,我的朋友发现了这个问题,在intellij的Maven设置中,有一个“ Runner”页面,那里有一个“ Skip test”。就我而言,它已经过检查,因此intellij中的运行跳过了单元测试(应该失败),并执行了所有其他操作,使其看起来像通过了。 对于我来说,仍然有些困惑,但是这个“跑步者”->“跳过测试”解决了这个问题。 对IntelliJ感到非常沮丧。