2016-01-28 55 views
0

當我爲Spring Security運行s2-quickstart時,它生成的域類稱爲默認構造函數,Intellij 14抱怨Recursive Constructor Invocation。 Grails運行良好,但我如何說服IntelliJ一切正常?Grails 3 Spring Security遞歸構造函數調用

另外,出於好奇,爲什麼這些構造函數都存在?我通常更喜歡使用Groovy開箱即用的默認或映射構造函數。那是可以刪除的東西嗎?

package com.company.product 

import groovy.transform.EqualsAndHashCode 
import groovy.transform.ToString 

@EqualsAndHashCode(includes = 'authority') 
@ToString(includes = 'authority', includeNames = true, includePackage = false) 
class Role implements Serializable { 

    private static final long serialVersionUID = 1 

    String authority 

    Role(String authority) { 
     this() 
     this.authority = authority 
    } 

    static constraints = { 
     authority blank: false, unique: true 
    } 

    static mapping = { 
     cache true 
    } 

} 

回答

2

升級到Intellij 15. bug被修復了一陣子。

或者,刪除參數化的構造函數,並像使用其他域類一樣使用更詳細的Map構造函數。

+0

謝謝伯特。我非常感謝您對Grails問題的迴應。 – 10GritSandpaper

+0

嗨,Burt,我使用的社區版,仍然得到這個錯誤。這沒什麼大不了。那麼你知道這個解決方案是否只適用於付費版本? – Vanko

+0

最好的辦法是刪除參數化構造函數並使用常規映射構造函數。 –