Grails 4: обновлен ли spring-security-ldap для Grails 4.0?

Я обновляю свое приложение Grails 3.3.2 до Grails 4.0.0.RC2, и все ссылки на классы org.springframework.security.ldap не разрешены. Я не уверен, стоит ли ждать более поздней версии плагина или что-то другое, что я должен сделать для Grails 4. Если мне нужно дождаться более поздней версии, есть ли ETA на этом?

Я использую эту версию в моем файле build.gradle:

compile "org.grails.plugins:spring-security-ldap:3.0.2"  

Вот пример некоторых неразрешенных ошибок:

unable to resolve class org.springframework.ldap.core.DirContextOperations
unable to resolve class org.springframework.ldap.core.DirContextAdapter

0 ответов

Из-за изменения Gradle:

Разделение зависимостей компиляции и времени выполнения при использовании POM

Чтобы использовать некоторые плагины Grails 3 в приложениях Grails 4, вам необходимо напрямую включить их транзитивные зависимости. В противном случае они не попадают в путь к классам.

Исправление заключается в том, чтобы включить зависимости непосредственно в вашу сборку.

ext {
    springSecurityVersion="5.1.6.RELEASE"
    springSecurityCoreVersion="4.0.0.RC2"
    springSecurityLdapVersion="3.0.2"

}
dependencies {
...
// Security
    compile "org.grails.plugins:spring-security-core:$springSecurityCoreVersion"
    compile ("org.grails.plugins:spring-security-ldap:$springSecurityLdapVersion") {
        exclude group: 'org.grails.plugins', module:'spring-security-core'
    }
    compile "org.springframework.security:spring-security-ldap:$springSecurityVersion", {
        ['apacheds-core', 'apacheds-core-entry', 'apacheds-protocol-ldap', 'apacheds-protocol-shared',
         'apacheds-server-jndi', 'commons-logging', 'fest-assert', 'jcl-over-slf4j', 'junit',
         'ldapsdk', 'logback-classic', 'mockito-core', 'shared-ldap', 'slf4j-api', 'spring-beans',
         'spring-context', 'spring-core', 'spring-ldap-core', 'spring-security-core',
         'spring-test', 'spring-tx'].each { exclude module: it }
    }

    compile 'org.springframework.ldap:spring-ldap-core:2.0.4.RELEASE', {
        ['commons-lang', 'gsbase', 'junit', 'mockito-core', 'powermock-api-mockito',
         'powermock-api-support', 'powermock-core', 'powermock-module-junit4',
         'powermock-module-junit4-common', 'powermock-reflect', 'slf4j-log4j12', 'spring-beans',
         'spring-core', 'spring-data-commons', 'spring-test', 'spring-tx'].each { exclude module: it }
    }

Я взял из плагина переходные зависимости:

https://github.com/grails-plugins/grails-spring-security-ldap/blob/master/build.gradle

Другие вопросы по тегам