我需要在Maven依赖项中包含EclipseLink modelgen包吗?

我需要在Maven依赖项中包含EclipseLink modelgen包吗?,maven,eclipselink,netbeans-7,Maven,Eclipselink,Netbeans 7,我正在使用NetBeans7.1编写一个Maven构建的JSF2.0Web应用程序。服务器是GlassFish3.1,EclipseLink是JPA2.0的提供者 当我对项目进行“清理和构建”时,JPA元模型的所有生成源都消失了,不再回来。因此Netbeans看到了成堆未定义的符号。到处都是红点 奇怪的是,如果我运行这个项目,元模型会以某种方式生成,并最终返回到Maven项目使用的生成源目录。该web应用程序正在运行。但是,如果不运行应用程序,就无法生成元模型。有时需要几次传球 通过四处试验,我

我正在使用NetBeans7.1编写一个Maven构建的JSF2.0Web应用程序。服务器是GlassFish3.1,EclipseLink是JPA2.0的提供者

当我对项目进行“清理和构建”时,JPA元模型的所有生成源都消失了,不再回来。因此Netbeans看到了成堆未定义的符号。到处都是红点

奇怪的是,如果我运行这个项目,元模型会以某种方式生成,并最终返回到Maven项目使用的生成源目录。该web应用程序正在运行。但是,如果不运行应用程序,就无法生成元模型。有时需要几次传球

通过四处试验,我发现如果我将以下内容作为一个依赖项,问题就会部分消失。clean和build仍然会在输出中生成错误,但是就IDE而言,模型是生成的

    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
        <version>2.3.0</version>
    </dependency>

org.eclipse.persistence
org.eclipse.persistence.jpa.modelgen.processor
2.3.0

有人能解释一下发生了什么,也许我应该做什么吗?

如果我正确理解处理器在应用程序启动时生成元模型(在运行时)。因此,您必须将其包含到web应用程序中


元模型类以前不存在。

如果我理解正确,处理器将在应用程序启动时(运行时)生成元模型。因此,您必须将其包含到web应用程序中


元模型类以前不存在。

我使用以下依赖项:

<dependency>
  <groupId>org.eclipse.persistence</groupId>
  <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
  <version>2.5.2</version>
  <scope>provided</scope>
</dependency>

org.eclipse.persistence
org.eclipse.persistence.jpa.modelgen.processor
2.5.2
假如

在“清理并构建”之后,您将看到元模型确实在构建时构建,并且类实际上包含在目标/生成的源代码/注释文件夹中。然后将它们放入jar文件中。也就是说,您可以将这些定义为“已提供”,以便在构建期间使用,但不包括在整个分布式包中。

我使用以下依赖项:

<dependency>
  <groupId>org.eclipse.persistence</groupId>
  <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
  <version>2.5.2</version>
  <scope>provided</scope>
</dependency>

org.eclipse.persistence
org.eclipse.persistence.jpa.modelgen.processor
2.5.2
假如
在“清理并构建”之后,您将看到元模型确实在构建时构建,并且类实际上包含在目标/生成的源代码/注释文件夹中。然后将它们放入jar文件中。也就是说,您可以将这些定义为“已提供”,以便在构建期间使用,但不包括在整个分布式包中