gae:关于目标“enhanced\u war”中的“api”属性

lstz6jyr  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(339)

jpa2.0的gae文档声明 enhance_war 对于ant文件,应该是这样的:

<target name="datanucleusenhance" depends="compile"
  description="Performs enhancement on compiled data classes.">
  <enhance_war war="war">
          <args>
          <arg value="-enhancerVersion"/>
          <arg value="v2"/>
      </args>
  </enhance_war>

但是,我们可以在 ant-macros.xml :

<attribute name="api" description="persistence api, JDO or JPA" default="JDO"/>

这是否正确,即我们不应该指定jpa的用法?

cyvaqqii

cyvaqqii1#

有趣的是,看看datanucleus文档,在ant部分,我读到: api Optional. Defines the API to be used when enhancing JDO, JPA jdo是默认的,我会在需要的时候将它指定为jpa,尽管它似乎无论如何都可以工作。
在我看来,宏并没有增加太多的值,所以我决定直接在配置中集成增强任务,这样我就可以只选择以entity结尾的类,而不是让datanucleus检查每个类。

<target name="-datanucleusenhance" depends="compile"
        description="Performs enhancement on compiled data classes">
    <enhance failonerror="true" api="JPA">
        <arg value="-enhancerVersion"/>
        <arg value="v2"/>
        <classpath>
            <pathelement path="${main.classes.dir}"/>
            <pathelement path="${sdk.dir}/lib/appengine-tools-api.jar"/>                
        </classpath>
        <fileset dir="${war.dir}/WEB-INF/classes" includes="**/*Entity.class"/>
    </enhance>
</target>

同时告诉我你发现了什么!

相关问题