我在使用IntelliJ处理Grails应用程序时突然遇到一个奇怪的问题.我有不同的域类和其他一些类src/groovy.当我打开一个类文件进行一些更改时,我得到一个错误,这个类已经存在于我没有的包中.我尝试使用重构重命名该类,但之后我仍然得到相同的错误.
任何人都可以在这里暗示什么是错的,或者我做错了什么?
在IntelliJ(2016.2和之前的版本)中,我们将Groovy类标记为红色,并显示错误"class already exists".我认为我们可以排除原因是存根生成,因为它已停用.
可能它是在我们的星座中引起的:我们将已编译的groovy(和java)类包含在一个注册为依赖项的jar中.
依赖MyProduct.jar包含 com.mycompany.MyGroovyClass
我们的来源包含 com.mycompany.MyGroovyClass
如果依赖项已在Test-Scope中注册,则错误消失,在出现错误的所有其他范围内.
但是,在我们的结构中,我们必须将编译的类包含在编译范围内,因为我们希望避免每个开发人员需要编译所有类(我知道后台编译能力,但我们有一个星座可以防止这种情况发生.工作).
我们没有com.mycompany.MyJavaClass在源和MyProduct.jar中存在的错误.
关于我们如何解决这个问题的任何想法?