2016-01-28 4 views
0

Когда я запускал s2-quickstart для Spring Security, классы домена, сгенерированные им, вызывали конструкторы по умолчанию, а Intellij 14 жалуется на Recursive Constructor Invocation. Grails отлично работает, но как мне убедить IntelliJ, что все в порядке?Grails 3 Spring Security Рекурсивный вызов конструктора

Кроме того, только из любопытства, почему эти конструкторы существуют вообще? Обычно я предпочитаю использовать конструктор по умолчанию или map, который выходит из коробки с 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

Спасибо, Burt. Я ценю, насколько вы отзывчивы к вопросам Грайля. – 10GritSandpaper

+0

Привет, Берт, я использую сообщество и все еще получаю эту ошибку. Не большая проблема. Знаете ли вы, было ли исправление только для платного издания? – Vanko

+0

Ваш лучший выбор - удалить параметризованный конструктор и использовать обычный конструктор карты. –

Смежные вопросы