Grails 4: @GrailsCompileStatic аннотация не работает - PullRequest
0 голосов
/ 28 марта 2019

Миграция из grails 3.3.5 -> grails 4.0.0.M2

Мой класс был помечен @GrailsCompileStatic, и он использовался для компиляции без каких-либо проблем в 3.3.5.

Многие другие классы также показывают ошибки для методов, которые дополнительно предоставляются groovy, таких как Date.parse() или Date.format() или Date.minus()

Ошибка:

FileCommandReader.groovy: 163: [Static type checking] - Cannot find matching method java.util.Date#parse(java.lang.String, java.lang.String). Please check if the declared type is correct and if the method exists.
 @ line 163, column 17.
                Date expiry = Date.parse("HH:mm:ss", cols[2]);

1 Ответ

0 голосов
/ 28 марта 2019

Это на самом деле не проблема @GrailsCompileStatic.Grails 4.0 использует Groovy 2.5.6.Следующий код не будет компилироваться с Groovy 2.5.6 ...

import groovy.transform.CompileStatic

@CompileStatic
class Helper {

    void someMethod() {
        Date.parse '', ''
    }
}

Grails 3.3.5 использует Groovy 2.4.15, а приведенный выше код действителен в Groovy 2.4.15.

...