可能它是在我们的星座中引起的:我们已经将已编译的groovy(和java)类包含在一个注册为依赖项的jar中。
依赖项MyProduct.jar包含com.mycompany.MyGroovyClass
我们的来源包含com.mycompany.MyGroovyClass
如果依赖项已在Test-Scope中注册,则错误消失,在所有其他范围内出现错误。
但是,在我们的结构中,我们有将包含在编译范围内的编译类,因为我们要避免每个开发人员需要编译所有类(我知道后台编译的能力) ,但是我们有一个星座阻止它工作)。
我们在com.mycompany.MyJavaClass
中没有错误,它在源代码和MyProduct.jar中也存在。
关于我们如何解决这个问题的任何想法?
答案 0 :(得分:7)
我们遇到了同样的问题,似乎IntelliJ注册了Java类,还注册了Groovy类,因此它显示了该消息(BTW,我们正在使用Maven项目)。 / p>
所以我们最终转到目标文件夹 - >右键单击 - >标记目录为 - >排除。然后,此设置将保存在IML文件中,并且不会再次发生。
希望它对您也有用! 干杯
答案 1 :(得分:5)
我正在使用gmavenplus-plugin:1.5
将target/generated-sources/generated-sources/main
标记为“已排除”后,错误消失。我甚至做了“使缓存无效并重新启动”,它会持续设置。这很棒。 Intellij 2017.1.5
答案 2 :(得分:1)
我们有两种方法可以解决此问题
目标文件夹->生成源-> groovy-stubs->右键单击主文件夹->将目录标记为->排除
从gmavenplus插件中删除<goal>generateStubs</goal>
答案 3 :(得分:0)
确保将src文件夹标记为Sources Root,并对测试文件夹进行相同操作
然后删除目标文件夹(最有可能标记为黄色),不用担心它不会从您的项目中删除任何代码
如果问题仍然存在,请转到文件->使缓存无效/重新启动