Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Updating Maven Project encontrou um problema

Olá, pessoal, tudo bem? Estou enfrentando esse problema. Já pesquisei pela internet, mas não encontrei solução.

Esse erro ocorre quando tento dar maven update: "Could not update project loja configuration org.eclipse.emf.ecore.xmi.PackageNotFoundException: Package with uri 'http://xnlns.jcp.org/xml/ns/persistence' not found. (platform:/resource/loja/src/main/resources/META-INF/persistence.xml, 5, 123)"

Esse erro ocorre quando tento rodar a classe CadastroDeProduto.java para testar a inserção de um produto: "Exception in thread "main" javax.persistence.PersistenceException: Unable to locate persistence units at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:85) at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:61) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:50) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) at br.com.alura.loja.testes.CadastroDeProduto.main(CadastroDeProduto.java:19) Caused by: javax.persistence.PersistenceException: Invalid persistence.xml. Error parsing XML [line : -1, column : -1] : cvc-elt.1.a: Não foi possível encontrar a declaração do elemento 'persistence'.

at org.hibernate.jpa.boot.internal.PersistenceXmlParser.validate(PersistenceXmlParser.java:494)
at org.hibernate.jpa.boot.internal.PersistenceXmlParser.loadUrl(PersistenceXmlParser.java:446)
at org.hibernate.jpa.boot.internal.PersistenceXmlParser.parsePersistenceXml(PersistenceXmlParser.java:249)
at org.hibernate.jpa.boot.internal.PersistenceXmlParser.parsePersistenceXml(PersistenceXmlParser.java:240)
at org.hibernate.jpa.boot.internal.PersistenceXmlParser.doResolve(PersistenceXmlParser.java:234)
at org.hibernate.jpa.boot.internal.PersistenceXmlParser.locatePersistenceUnits(PersistenceXmlParser.java:68)
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:81)
... 5 more"
1 resposta
solução!

Eu consegui resolver. Alterei a configuração do POM. Em <release> tava 1.8 e eu alterei para 8. A JRE System Library que tava sendo instalada pelo maven era 1.6, quando alterei para 8, passou a ser a JRE System Library 1.8.

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <release>8</release>
            </configuration>
    </plugin>
</plugins>

Após isso, ficou dando um erro no Project Facets. Afirmando que o Java utilizado era 1.6 e não 1.8. Ajustei para 1.8.

Além disso, notei, ainda em Project Facets, que em JPA estava com a versão 2.1. Corrigi no persistence.xml para a versão 2.1 (que estava 2.2)

Ao final, dei Maven Update e deu certo. Consegui tambem cadastrar o produto no H2.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software