【问题标题】:Endless NullPointerExceptions in Flash Builder 4.5Flash Builder 4.5 中的无尽 NullPointerExceptions
【发布时间】:2012-11-02 10:16:43
【问题描述】:

几个月来,我一直在 Mac OS X 10.8.2 上使用 Flash Builder 4.5 和 Flex SDK 3.5B。这不是一次完美的体验——该软件有很多错误——但总的来说直到最近它一直在工作。

我们的应用程序包括两个 Flash Builder“项目”,其中一个引用另一个。每当我们克隆存储库时,都需要更新主项目的.project 文件以包含辅助项目的新路径。

在一切崩溃之前我做的最后一件事是将包含项目的文件夹移动到新位置。正如预期的那样,当我打开 Flash Builder 时,它抱怨找不到我的项目文件,并且在“包资源管理器”视图中它们都被标记为不可访问。我没有从我的工作区中删除无法访问的项目,但我尝试从新位置重新导入主项目。这标志着我第一次看到从那以后一直困扰着我的对话:

“问题”视图告诉我参考错误日志...

...但是错误日志是空的!

“包资源管理器”视图没有改变(新项目未列出),所以我决定再次尝试导入。当我选择项目目录时,Flash Builder 说我无法导入它,因为该项目已经在工作区中。 “但是包资源管理器说它不是......如果我重新启动 Flash Builder,它可能会让我再试一次,” 我想。我想错了。当我重新启动时,这是我看到的:

java.lang.NullPointerException
    at com.adobe.flexbuilder.util.PathUtils.resolveLocaleInSourcePath(PathUtils.java:297)
    at com.adobe.flexbuilder.project.actionscript.internal.ActionScriptProject.getProjectPath(ActionScriptProject.java:713)
    at com.adobe.flexbuilder.project.actionscript.internal.ActionScriptProject.getSourceContainers(ActionScriptProject.java:681)
    at com.adobe.flexbuilder.as.editor.ui.packageexplorer.content.FlexPackageExplorerContentManager.getSourceRoot(FlexPackageExplorerContentManager.java:644)
    at com.adobe.flexbuilder.as.editor.ui.packageexplorer.FlexPackageExplorerContentProvider.getWorkspaceRootChildren(FlexPackageExplorerContentProvider.java:152)
    at com.adobe.flexbuilder.as.editor.ui.packageexplorer.FlexPackageExplorerContentProvider.getChildren(FlexPackageExplorerContentProvider.java:80)
    at com.adobe.flexbuilder.as.editor.ui.packageexplorer.FlexPackageExplorerContentProvider.inputChanged(FlexPackageExplorerContentProvider.java:449)
    [...]

它甚至无法显示项目列表,因此我可以删除导致问题的项目。 “编辑器”视图中显示了类似的消息。删除所有项目文件也无济于事。我无法修复工作区,我可以继续使用 Flash Builder 的唯一方法是创建一个新工作区。

从那时起,我尝试了很多不同的事情:

  • 重新安装了 Flash Builder 4.5。
  • 重新安装了 Flex SDK 3.5B。
  • 检查了该项目的六个月大版本。
  • 已升级到 Flash Builder 4.6。
  • 在我的计算机上创建了一个新的用户配置文件。
  • 试图删除任何跟踪文件可能破坏的东西:
    1. 使用 Instruments 监控 Flash Builder 进程接触的所有文件。
    2. 已卸载 Flash Builder。
    3. 使用find 查找名称中包含buildereclipse 的所有文件。
    4. 删除了在 (1) 或 (3) 中找到的所有可能与 Flash Builder 相关的文件。
    5. 重新安装 Flash Builder。
  • 在另一台运行 Mac OS X 10.6.8 的 Mac 上安装了 Flash Builder 4.5。
  • 在另一台 Mac 上使用 Flex SDK 3.5 检出该项目的两年前版本。
  • 在另一台 Mac 上的新工作区中尝试了该项目已经在现有工作区中运行的项目。 (是的,当我们尝试将其导入新工作区时它坏了,尽管它在现有工作区中继续正常工作。)
  • 在 Windows 7 VM 中安装了 Flash Builder 4.5。

没有任何区别。这似乎是不可能的。

我团队的其他成员已经在这个项目上工作了几年,但没有遇到这个特殊问题,但现在我开始之前的项目版本似乎已经损坏,甚至使用全新安装的 Flash Builder完全不同的系统也会崩溃。

我联系了 Adob​​e 的电话支持以寻求有关此问题的帮助。在被告知这将是十五分钟后,我等待了一个多小时,只是让他们告诉我他们不再为该产品提供电话支持。 (遗憾的是,在我等待之前,他们的电话树无法弄清楚这一点。)但是,我被告知“二级电子邮件支持”可在platformt2-noida@adobe.com 获得。我早该知道地址是无效的,我的邮件都被退回了!

我不知道发生了什么。看来我一定是做了别的事情而忘记了,因为目前的情况毫无意义。有没有人遇到过这个问题?你知道是什么原因造成的,或者我可以做些什么来解决它?

【问题讨论】:

    标签: eclipse apache-flex flash-builder flex3


    【解决方案1】:

    我们终于找到了解决方案。比较虎头蛇尾。

    忽略所有错误。

    导入您的项目文件并以您想要的任何顺序激活正确的 SDK 版本。如果您最终得到一个混乱的“项目资源管理器”视图,只需关闭该视图并重新打开它,或者重新启动 Flash Builder。

    “项目资源管理器”视图可用后,选择您的主要项目并运行它。它应该工作!


    实际上没有任何东西被永久损坏。如果您先导入主项目,或者使用错误的 SDK 版本,“Project Explorer”视图可能处于暂时无法使用的状态,但只要您最终修复了这些问题,那么“Project Explorer”视图也将在下一个修复打开的时间。

    【讨论】:

    • 刚试了IntelliJ IDEA 11 Ultimate Edition,目前可以导入编译应用,没有任何问题。
    • 六个月后回到这个问题,我无法克服这个错误。 (这一次不值得花更多的时间去弄清楚。IntelliJ 一直在为我们服务。)
    【解决方案2】:

    为您工作区中的所有项目制作一个备份副本,然后删除您工作区中的所有文件(包括隐藏文件)。 接下来将 Flashbuilder 指向现在为空的工作区目录(强制它重新创建所有工作区文件)。 现在导入您已备份的项目文件夹。

    【讨论】:

      猜你喜欢
      • 2011-08-14
      • 1970-01-01
      • 2011-11-02
      • 2011-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 2012-02-22
      相关资源
      最近更新 更多