Java 无法使用DataNucleus GAE/J插件的版本2将字节码增强为JDO 3.0

Java 无法使用DataNucleus GAE/J插件的版本2将字节码增强为JDO 3.0,java,google-app-engine,ant,wicket,datanucleus,Java,Google App Engine,Ant,Wicket,Datanucleus,我的问题 我正在使用新的1.7.5 GAE/J SDK将我的应用程序从1.x版移植到2.0版的DataNucleus GAE/J插件,但我无法成功地使用参数-enhancervision和v2。(没有这些参数的默认目标是DataNucleus GAE/J插件的第1版,我不想要它?) 有人知道我如何成功地指定这些参数吗 我的软件环境 Web框架:ApacheWicket 6.5.0 Web服务器:适用于Java 1.7.5版的Google应用程序引擎 Java版本:1.6.0_39;Java热点

我的问题

我正在使用新的1.7.5 GAE/J SDK将我的应用程序从1.x版移植到2.0版的DataNucleus GAE/J插件,但我无法成功地使用参数
-enhancervision
v2
。(没有这些参数的默认目标是DataNucleus GAE/J插件的第1版,我不想要它?)

有人知道我如何成功地指定这些参数吗

我的软件环境

  • Web框架:ApacheWicket 6.5.0
  • Web服务器:适用于Java 1.7.5版的Google应用程序引擎
  • Java版本:1.6.0_39;Java热点(TM)客户端VM 20.14-b01
  • IDE:NetBeans 7.2(构建201207171143)
  • GAE/J DataNucleus插件版本:2.1.2
  • DataNucleus访问平台版本:3.1.3
  • 操作系统:在x86上运行的Microsoft Windows XP 5.1版
背景信息和生成故障日志输出

GAE/J文件位于

说:

生成过程失败,输出为:

...

datanucleusenhancer:
Enhancer api: JDO
Enhancer verbose: true
C:\...\build.xml:154: datanucleusenhancertask doesn't support the nested "args" element.
  at org.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java:362)
  at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:201)
  at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
  at org.apache.tools.ant.Task.perform(Task.java:347)
  at org.apache.tools.ant.Target.execute(Target.java:392)
  at org.apache.tools.ant.Target.performTasks(Target.java:413)
  at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
  at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
  at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
  at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
  at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:283)
  at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:541)
  at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
Caused by: The <datanucleusenhancertask> type doesn't support the nested "args" element.
  at org.apache.tools.ant.IntrospectionHelper.throwNotSupported(IntrospectionHelper.java:503)
  at org.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java:352)
  ... 12 more
BUILD FAILED (total time: 44 seconds)
。。。
datanucleusenhancer:
增强器api:JDO
增强器冗长:true
C:\…\build.xml:154:datanucleusenhancertask不支持嵌套的“args”元素。
位于org.apache.tools.ant.UnknowneElement.handleChildren(unknowneElement.java:362)
位于org.apache.tools.ant.UnknowneElement.configure(unknowneElement.java:201)
位于org.apache.tools.ant.UnknowneElement.maybeConfigure(unknowneElement.java:163)
位于org.apache.tools.ant.Task.perform(Task.java:347)
位于org.apache.tools.ant.Target.execute(Target.java:392)
位于org.apache.tools.ant.Target.performTasks(Target.java:413)
位于org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
位于org.apache.tools.ant.Project.executeTarget(Project.java:1368)
位于org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
位于org.apache.tools.ant.Project.executeTargets(Project.java:1251)
位于org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:283)
位于org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:541)
位于org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
原因:类型不支持嵌套的“args”元素。
位于org.apache.tools.ant.IntrospectionHelper.throwNotSupported(IntrospectionHelper.java:503)
位于org.apache.tools.ant.UnknowneElement.handleChildren(unknowneElement.java:352)
... 还有12个
生成失败(总时间:44秒)
(官方)DataNucleus增强器Ant任务()没有输入这样的参数。这些arg是谷歌自己的东西(不管“增强战争”指的是什么)。DataNucleus enhancer关心的是在类路径中有相关的JAR,并且可以根据进行配置。

谢谢,Andy。(我只能猜测GAE/J文档中的“Enhanced_war”可能是随Eclipse插件提供的,我没有使用它。)
<!--  *******************************************************************  -->
<!--  **                                                                   -->
<!--  **  This block extends the original "-post-compile" target in        -->
<!--  **  "nbproject/build-impl.xml" by adding "depends" and "description" -->
<!--  **  attributes and implementing them.                                -->
<!--  **                                                                   -->

<target
 name="-post-compile"
 depends="datanucleusenhancer"
 description="Called after javac compilation (DataNucleus enhancement)"
/>

...

<target
 name="datanucleusenhancer"
 description="Performs the DataNucleus post-compilation enhancement"
>
  <taskdef
   name="datanucleusenhancertask"
   classpathref="datanucleus.enhancer.classpath"
   classname="org.datanucleus.enhancer.tools.EnhancerTask"
  />

  <datanucleusenhancertask
   dir="${build.classes.dir}"
   classpathref="datanucleus.enhancer.classpath"
   api="JDO"
   failonerror="true"
   verbose="true"
   filesuffixes="class"
   >
    <fileset dir="${build.classes.dir}" casesensitive="false">
      <filename name="**/persistence/**"/>
    </fileset>
    <jvmarg line="-Dlog4j.configuration=file:nbproject/log4j.properties"/>
    <args>                               <!--  Added   -->
      <arg value="-enhancerVersion"/>    <!--  code    -->
      <arg value="v2"/>                  <!--  to set  -->
    </args>                              <!--  args    -->
  </datanucleusenhancertask>
</target>
...

datanucleusenhancer:
Enhancer api: JDO
Enhancer verbose: true
C:\...\build.xml:154: datanucleusenhancertask doesn't support the nested "args" element.
  at org.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java:362)
  at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:201)
  at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
  at org.apache.tools.ant.Task.perform(Task.java:347)
  at org.apache.tools.ant.Target.execute(Target.java:392)
  at org.apache.tools.ant.Target.performTasks(Target.java:413)
  at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
  at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
  at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
  at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
  at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:283)
  at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:541)
  at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
Caused by: The <datanucleusenhancertask> type doesn't support the nested "args" element.
  at org.apache.tools.ant.IntrospectionHelper.throwNotSupported(IntrospectionHelper.java:503)
  at org.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java:352)
  ... 12 more
BUILD FAILED (total time: 44 seconds)