2

我正在尝试 Eclipse Kepler 4.3 EE

在我的旧工作区上打开它后,我的项目以构建错误开始:

This project has the JPA facet, but no JPA project could be created. See the error log for more details.

这是细节:

eclipse.buildId=4.3.0.I20130605-2000
java.version=1.7.0_21
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=pt_BR
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -data D:\JJW\srcWeb -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

Error
Mon Aug 19 14:46:53 BRT 2013
null JPA platform: P/jjwxp-web

java.lang.IllegalArgumentException
    at org.eclipse.jpt.jpa.core.internal.InternalJpaProjectManager.buildJpaProject(InternalJpaProjectManager.java:643)
    at org.eclipse.jpt.jpa.core.internal.InternalJpaProjectManager.buildJpaProject(InternalJpaProjectManager.java:635)
    at org.eclipse.jpt.jpa.core.internal.InternalJpaProjectManager.buildJpaProject(InternalJpaProjectManager.java:628)
    at org.eclipse.jpt.jpa.core.internal.InternalJpaProjectManager.addJpaProject(InternalJpaProjectManager.java:609)
    at org.eclipse.jpt.jpa.core.internal.InternalJpaProjectManager.buildJpaProject_(InternalJpaProjectManager.java:312)
    at org.eclipse.jpt.jpa.core.internal.InternalJpaProjectManager$BuildJpaProjectCommand.execute(InternalJpaProjectManager.java:306)
    at org.eclipse.jpt.common.core.internal.utility.command.CommandJobCommandAdapter.execute(CommandJobCommandAdapter.java:50)
    at org.eclipse.jpt.common.core.internal.utility.command.JobCommandJob.run(JobCommandJob.java:42)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

项目方面:JPA 2.0

持久性.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">


    <persistence-unit name="jjwxp-web-unit"
        transaction-type="RESOURCE_LOCAL">

        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>

        <class>br.com.jjw.jjwxp.web.model.Pais</class>
        <class>br.com.jjw.jjwxp.web.model.Estado</class>
        <class>br.com.jjw.jjwxp.web.model.Cidade</class>
        <class>br.com.jjw.jjwxp.web.model.Usuario</class>
        <class>br.com.jjw.jjwxp.web.model.Empresa</class>
        <class>br.com.jjw.jjwxp.web.model.Pessoa</class>
        <class>br.com.jjw.jjwxp.web.model.PessoaCliente</class>
        <class>br.com.jjw.jjwxp.web.model.PessoaRepresentante</class>
        <class>br.com.jjw.jjwxp.web.model.PessoaContato</class>
        <class>br.com.jjw.jjwxp.web.model.ListaPrecos</class>
        <class>br.com.jjw.jjwxp.web.model.ListaPrecosRepresentante</class>
        <class>br.com.jjw.jjwxp.web.model.ListaPrecosColuna</class>
        <class>br.com.jjw.jjwxp.web.model.ListaPrecosItem</class>
        <class>br.com.jjw.jjwxp.web.model.Produto</class>
        <class>br.com.jjw.jjwxp.web.model.ProdutoGrade</class>
        <class>br.com.jjw.jjwxp.web.model.ProdutoEstoque</class>
        <class>br.com.jjw.jjwxp.web.model.ProdutoCor</class>
        <class>br.com.jjw.jjwxp.web.model.FaixaTamanho</class>
        <class>br.com.jjw.jjwxp.web.model.GrupoProduto</class>
        <class>br.com.jjw.jjwxp.web.model.Tamanho</class>
        <class>br.com.jjw.jjwxp.web.model.Cor</class>
        <class>br.com.jjw.jjwxp.web.model.ProdutoImagem</class>
        <class>br.com.jjw.jjwxp.web.model.ProdutoCorImagem</class>
        <class>br.com.jjw.jjwxp.web.model.PVE</class>
        <class>br.com.jjw.jjwxp.web.model.PVEItem</class>
        <class>br.com.jjw.jjwxp.web.model.PVEItemGrade</class>
        <class>br.com.jjw.jjwxp.web.model.CondicaoPagamento</class>
        <class>br.com.jjw.jjwxp.web.model.ModalidadeVenda</class>
        <class>br.com.jjw.jjwxp.web.model.Moeda</class>
        <class>br.com.jjw.jjwxp.web.model.ClassificacaoFiscal</class>
        <class>br.com.jjw.jjwxp.web.model.ClassificacaoFiscalEmpresa</class>
        <class>br.com.jjw.jjwxp.web.model.RepresentanteProduto</class>
        <class>br.com.jjw.jjwxp.web.model.ModuloSistema</class>


        <shared-cache-mode>NONE</shared-cache-mode>

        <properties>
            <property name="eclipselink.ddl-generation" value="NONE" />
            <property name="eclipselink.weaving" value="dynamic" />

            <property name="eclipselink.logging.level" value="FINE" />
            <property name="eclipselink.logging.logger"
                value="org.eclipse.persistence.logging.CommonsLoggingSessionLog" />
        </properties>

    </persistence-unit>

</persistence>

关于正在发生的事情有什么想法吗?

4

3 回答 3

0

如果您重命名了项目,并且在重命名后发生错误(或 svn 下载到不同的文件夹中)..

这个 Eclipse Eclipse BUG 414688 (OPEN) https://bugs.eclipse.org/bugs/show_bug.cgi?id=414688解释了原因

问题的真正根源在于 BUG 414795(已修复) https://bugs.eclipse.org/bugs/show_bug.cgi?id=414795

由于第二个错误在 2013 年 12 月修复,并在 2014 年 1 月验证,我想下一个版本的 Eclipse 将解决这个错误。

于 2014-01-23T14:05:41.580 回答
0

对我来说,Eclipse“标记”中的相同错误......在 Eclipse 2021-06 下构建的旧项目。

为了解决这个问题,我必须:

在文件系统中找到损坏的 JPA 项目下的 .settings 文件夹,然后

  1. 使用文本编辑器,从“org.eclipse.wst.common.project.facet.core.xml”中删除“已安装的”JPA facet
  2. 删除关联文件“org.eclipse.wst.common.project.facet.core.prefs.xml
  3. 关闭项目并重新打开(以确保正确重新加载元数据)

然后在 Eclipse 中添加 JPA facet (v2.2) 并选择 JPA 提供者。

于 2022-01-13T01:15:51.070 回答
0

下载 Eclipse Neon 后,我遇到了同样的问题。我通过以下方式解决了这个问题:

  1. 右键单击项目。然后选择属性以打开属性窗口。
  2. 选择 JPA 以查看 JPA 配置。在平台下,在我的例子中选择 JPA 平台 Hibernate (JPA 2.1)。
  3. 在 JPA 实现类型下,选择禁用库配置,因为在我的情况下,我正在使用我声明了 JPA 依赖项的 maven 项目,因此该库将在类路径中可用。
  4. 在 Peristent class management 下,确保选择选项discover annotated classes automatically。单击应用后,然后确定,它应该可以解决错误。

同样在 Project Properties ---> Project Facets 下,确保选择正确的 Java 版本和目标运行时(您的 JDK),如果已选中,请取消选择 Utility Module 复选框。

于 2016-08-05T21:40:46.040 回答