'DataNucleus Enhancer'错误206

时间:2012-05-19 10:31:06

标签: java eclipse google-app-engine windows-7 datanucleus

我有问题。我总是从Java DataNucleus Enhancer获得一个错误206,因为2天前...几天前,它没有错误。

  

无法运行程序“D:\ Program Files \ Java \ jre6 \ bin \ javaw.exe”(in   目录“C:\ Users \ schmisa2 \ workspace \ AMS0”):CreateProcess   错误= 206,文件名或扩展名太长无法运行程序   “D:\ Program Files \ Java \ jre6 \ bin \ javaw.exe”(在目录中   “C:\ Users \ schmisa2 \ workspace \ AMS0”):CreateProcess error = 206,The   文件名或扩展名太长

我在Google和Stackoverflow上搜索了很多但无法解决问题。

我最长的路径是:

  

C:\用户\ schmisa2 \工作空间\ AMS0 \ SRC \ CH \ zhaw \ AMS \模块\足球\ SFV \消息\服务器\ NewsElement.java

https://groups.google.com/group/google-appengine-java/browse_thread/thread/6cde7d1695b3eff3

有人知道如何解决它吗?

我安装了一个Linux Ubuntu来测试它。它没有问题......但它在Windows 7上不起作用。 我有GWT 2.4,App引擎1.6.5。 SDK和Eclipse 3.7

或者有人可以解释一下如何在命令行上运行它吗?

4 个答案:

答案 0 :(得分:8)

这对我有用。

  

“如果您使用的是eclipse插件,请转到Project | Properties,然后选择   Google \ App Engine \ ORM并且只包含您拥有的目录   您想要增强的类。默认情况下,它执行整个项目   这包括很多不必要的文件。“

Source here

答案 1 :(得分:1)

我有一个项目,我正在使用DataNucleus,JDO和Annotations。我在Windows上遇到了与Eclipse相同的问题(在我的Mac上它很好)。为了解决这个问题,我做了以下几点:

  • 为每个@PersistenceCapable类创建了一个.jdo文件(请参阅下面的示例JDO文件)并将它们与类文件一起保存。
  • 右键单击项目 - >偏好 - > DataNucleus - >增强剂 - >输入文件扩展名。删除此处的“课程”条目。
  • 如果您的项目也需要,请执行与SchemaTool配置相同的操作。

现在应该可以了。

JDO文件示例:

<?xml version="1.0" encoding="UTF-8"?>
<jdo>
    <package name="my.package">
        <class name="MyPersistenceCapableClass"/>
    </package>
</jdo>

答案 2 :(得分:0)

所以你在命令行长度上达到了Windows过时的限制。例如,更改增强器的调用以使用persistence.xml。

答案 3 :(得分:0)

另一种解决这个问题或解决方法的方法我应该在Eclipse中说,在eclipse中创建一个新的运行配置,复制来自datanucleus的参数,该参数由插件运行配置创建 - &gt; Java应用程序 - &gt; DataNucleus Enhancer。复制主选项卡,参数,您可能需要将Datanucleus jar添加到类路径选项卡。

在参数选项卡中,删除不需要增强的所有类。接下来,我将通过删除项目Properties - &gt;项下的类扩展来关闭插件。 DataNucleus - &gt;增强剂 - &gt;输入文件扩展名。

每次构建之后,您只需要手动运行此增强器。如果我需要添加新类来增强,我只需将它添加到我的手册中。