Spring LDAP 示例需要持久性?
Spring LDAP example requires persistence?
我是 Spring 和 LDAP 的新手。我找到了一个很棒的示例,它解释了如何快速启动 spring boot 和 apacheds。我按照示例使用建议的 Gradle 配置。 The link。当我启动 spring 引导时,我收到以下错误...
Error creating bean with name 'persistenceExceptionTranslationPostProcessor' defined in class path resource [org/springframework/boot/autoconfigure/dao/PersistenceExceptionTranslationAutoConfiguration.class]: Initialization of bean failed; nested exception is java.lang.IllegalStateException: No persistence exception translators found in bean factory. Cannot perform exception translation.
我不确定为什么 Spring 要求持久性翻译器,虽然从其他帖子中搜索它似乎在类路径中有一个 ORM(我没有加载 ORM JAR 并且异常没有如果 spring 安全引导条目从 gradle 中删除,则会发生),这就是 Spring 正在寻找 JPA 实现和翻译器的原因。其他人对 link 中的示例有疑问。谢谢!
问题是 spring-security-ldap
对 spring-tx
具有传递依赖性,并且引入的版本是 3.2.8.RELEASE。 Spring Boot 1.2 需要 4.1.x。由于其卓越的依赖管理,Maven 不会发生这种情况。
您可以通过添加对 spring-tx
的显式依赖来解决此问题。无需指定版本,因为 Spring Boot 会为您处理。根据您在问题中链接到的示例,这将使您的依赖项看起来像这样:
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-security")
compile("org.springframework:spring-tx")
compile("org.springframework.security:spring-security-ldap:3.2.4.RELEASE")
compile("org.apache.directory.server:apacheds-server-jndi:1.5.5")
testCompile("junit:junit")
}
我是 Spring 和 LDAP 的新手。我找到了一个很棒的示例,它解释了如何快速启动 spring boot 和 apacheds。我按照示例使用建议的 Gradle 配置。 The link。当我启动 spring 引导时,我收到以下错误...
Error creating bean with name 'persistenceExceptionTranslationPostProcessor' defined in class path resource [org/springframework/boot/autoconfigure/dao/PersistenceExceptionTranslationAutoConfiguration.class]: Initialization of bean failed; nested exception is java.lang.IllegalStateException: No persistence exception translators found in bean factory. Cannot perform exception translation.
我不确定为什么 Spring 要求持久性翻译器,虽然从其他帖子中搜索它似乎在类路径中有一个 ORM(我没有加载 ORM JAR 并且异常没有如果 spring 安全引导条目从 gradle 中删除,则会发生),这就是 Spring 正在寻找 JPA 实现和翻译器的原因。其他人对 link 中的示例有疑问。谢谢!
问题是 spring-security-ldap
对 spring-tx
具有传递依赖性,并且引入的版本是 3.2.8.RELEASE。 Spring Boot 1.2 需要 4.1.x。由于其卓越的依赖管理,Maven 不会发生这种情况。
您可以通过添加对 spring-tx
的显式依赖来解决此问题。无需指定版本,因为 Spring Boot 会为您处理。根据您在问题中链接到的示例,这将使您的依赖项看起来像这样:
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-security")
compile("org.springframework:spring-tx")
compile("org.springframework.security:spring-security-ldap:3.2.4.RELEASE")
compile("org.apache.directory.server:apacheds-server-jndi:1.5.5")
testCompile("junit:junit")
}