Adicionando primavera-boot-starter-segurança para aplicação Primavera Bota provoca erro 'EntityManagerFactory' ou 'persistenceUnitName' é necessária

votos
0

Criei um pedido da mola de arranque (0.5.0.BUILD-INSTANTÂNEO) usando Spring Initializr ( http://start.spring.io/ ), e adicionou-se uma única @RestController, uma única interface CrudRepository, e uma única classe @Entity - nada complicado. Meu Maven POM contém as seguintes dependências:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
    </dependency>

A classe Application contém o padrão:

@ComponentScan
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

A aplicação simples é executado sem erros, mas eu decidi adicionar Spring Security para o POM para fixar os pontos finais de gestão:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>

Agora, o aplicativo não será iniciado, e eu recebo o seguinte:

java.lang.IllegalArgumentException: 'EntityManagerFactory' ou 'persistenceUnitName' é necessária

Caused by: java.lang.IllegalArgumentException: 'entityManagerFactory' or 'persistenceUnitName' is required
    at org.springframework.orm.jpa.JpaTransactionManager.afterPropertiesSet(JpaTransactionManager.java:304)
    at org.springframework.orm.jpa.JpaTransactionManager.<init>(JpaTransactionManager.java:141)
    at org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.transactionManager(JpaBaseConfiguration.java:68)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166)
    ... 18 more

Quando eu remover a dependência primavera-boot-starter-segurança, o aplicativo funciona muito bem, mas sem segurança ativada. O que significa o erro? O aplicativo já usa JPA e Hibernate sem Spring Security habilitado.

Publicado 08/12/2013 em 06:43
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Há um bug lá . A causa é realmente profundamente técnica e relacionada com os internos em uma mola BeanFactory. Olhar para a questão Github se você quiser obter mais alguma compreensão, mas provavelmente você deve ser capaz de simplesmente atualizar suas dependências instantâneo e obter a correção.

Respondeu 09/12/2013 em 10:52
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more