【问题标题】:eclipselink metamodel with gradle and groovy带有 gradle 和 groovy 的 eclipselink 元模型
【发布时间】:2015-06-14 18:15:48
【问题描述】:

如何在 gradle 中从 org.eclipse.persistence.jpa.modelgen.processor 生成元模型类?

在 Maven 中,我使用类似的人

<plugin> <artifactId>maven-compiler-plugin</artifactId> <dependencies> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId> <version>${eclipselink.version}</version> </dependency> </dependencies> <configuration> <compilerArgs> <compilerArg>-Aeclipselink.persistenceunits=unit-name </compilerArg> </compilerArgs> </configuration> </plugin>

感谢您的建议。

【问题讨论】:

    标签: java jpa gradle eclipselink build.gradle


    【解决方案1】:

    对你有用可能为时已晚,但想分享我是如何解决问题的。以下将在每次编译时生成元模型。请注意,如果您删除带有delete 的行,编译器可能会报错。

    ext {
        metamodelPath="$buildDir/generated-sources/metamodel"
    }
    compileJava {
    
        doFirst {
            file(metamodelPath).delete()
            file(metamodelPath).mkdirs()
        }
        options.compilerArgs += ['-Aeclipselink.persistencexml=src/main/resources/META-INF/persistence.xml', '-s', metamodelPath ]
    }
    

    【讨论】:

      【解决方案2】:

      不幸的是,以前的解决方案对我不起作用。但这是一个很好的起点。缺少依赖项闭包。

      这适用于 Gradle 5.6.1 和 Groovy 2.5.4:

      ext {
          eclipselink='2.7.3'
          metamodelPath="$buildDir/generated/sources/metamodel/java/main"
          persistenceXMLLocation="src/main/resources/META-INF/persistence.xml"
      }
      
      compileJava {
          doFirst {
              file(metamodelPath).delete()
              file(metamodelPath).mkdirs()
          }
          options.compilerArgs += ["-Aeclipselink.persistencexml=${new File(project.projectDir, persistenceXMLLocation).absolutePath}", '-s', metamodelPath]
      }
      
      dependencies {
          api "org.eclipse.persistence:eclipselink:$eclipselink"
          annotationProcessor "org.eclipse.persistence:org.eclipse.persistence.jpa.modelgen.processor:$eclipselink"
      }
      

      【讨论】:

        猜你喜欢
        • 2015-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-27
        • 1970-01-01
        • 2014-08-09
        • 2022-01-03
        • 2014-12-24
        相关资源
        最近更新 更多