【问题标题】:'DataNucleus Enhancer' Error 206“DataNucleus 增强器”错误 206
【发布时间】:2012-05-26 17:18:51
【问题描述】:

我有问题。我总是从 Java DataNucleus Enhancer 收到错误 206,因为 2 天前......几天前,它没有错误地工作。

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

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

我最长的路径是:

C:\Users\schmisa2\workspace\AMS0\src\ch\zhaw\ams\module\football\sfv\news\server\NewsElement.java

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

有人知道我该如何解决吗?

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

或者谁能解释我如何在命令行上运行它?

【问题讨论】:

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


    【解决方案1】:

    因此,您达到了 Windows 对命令行长度的过时限制。例如,将增强器的调用更改为使用 persistence.xml。

    【讨论】:

    • 谢谢,我该怎么做?
    • 我个人只是阅读了有关软件的文档datanucleus.org/products/accessplatform_3_1/enhancer.html
    • 您询问了如何从命令行运行 Enhancer。该链接告诉您如何从命令行调用 Enhancer。如果您的意思是其他意思,那么最好将其添加到您的问题中,否则人们无法真正回答您
    • 对不起,我以为你的意思是如何使用 persitence.xml 也在那个网站上。我看到了命令行的例子,谢谢。
    • 是的,我的意思是如何调用传递持久单元名称的增强器。这样你的命令行就更短了(而不是传递你所有类的名字)。如果您使用的是 DataNucleus Eclipse 插件,那么您可以在配置中指定持久性单元“名称”。一个持久化单元定义在datanucleus.org/products/accessplatform_3_1/jdo/…
    【解决方案2】:

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

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

    现在应该可以了。

    JDO 文件示例:

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

    【讨论】:

      【解决方案3】:

      另一种解决此问题或解决方法的方法是在 Eclipse 中创建一个新的运行配置,从由插件运行配置 -> Java 应用程序 -> DataNucleus Enhancer 创建的 datanucleus 中复制参数.复制 Main 选项卡,Arguments,您可能需要将 Datanucleus jar 添加到 classpath 选项卡。

      在参数选项卡中,删除所有不需要增强的类。接下来,我将通过删除项目 Properties -> DataNucleus -> Enhancer -> Input File Extensions 下的类扩展来关闭插件。

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

      【讨论】:

        【解决方案4】:

        这对我有用。

        "如果您使用的是 eclipse 插件,请转到项目 | 属性,选择 Google \ App Engine \ ORM 并且仅包含您拥有的目录 您想要增强的类。默认情况下,它会执行整个项目 所以这包括很多不必要的文件。”

        Source here

        【讨论】:

          猜你喜欢
          • 2013-11-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-02
          • 2012-06-21
          • 1970-01-01
          相关资源
          最近更新 更多