0

Spring/Hibernate アプリケーションがあります。Hibernate によって作成されたカスタム タイプには Spring コンテキストが必要なので、Spring Aspects を使用して提供します。

@Configurable(preConstruction = true)
public class EncryptedStringUserType implements EnhancedUserType {
...

@EnableSpringConfigured
@EnableLoadTimeWeaving
public class RootConfiguration {
...

Spring Security を追加した後、次のように stderr に多数のメッセージが表示されました。

[AppClassLoader@14dad5dc] error can't determine implemented interfaces of missing type org.springframework.security.ldap.authentication.LdapAuthenticationProvider
when weaving type org.springframework.security.config.annotation.authentication.configurers.ldap.LdapAuthenticationProviderConfigurer
when weaving classes 
when weaving 
 [Xlint:cantFindType]

織り込む必要のあるクラスのパッケージを指定して、他のパッケージを織り込まないようにすることは可能ですか?

解決

META-INF/aop.xml をリソース ルートに置き、不要なパッケージを除外します。

<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
    <weaver>
        <exclude within="org.springframework.security.config.annotation.authentication.configurers.ldap.*"/>
        <exclude within="org.springframework.security.config.annotation.web.configurers.openid.*"/>
    </weaver>
</aspectj>
4

1 に答える 1