Flash Builder 4.5中的无限NullPointerExceptions

时间:2012-11-13 22:29:36

标签: eclipse flex flash-builder flex3

我已经在Mac OS X 10.8.2上使用Flash Builder 4.5和Flex SDK 3.5B几个月了。这不是一个完美的体验 - 软件有很多错误 - 但一般它一直在工作直到最近。

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

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

'Building workspace' has encountered a problem. Errors occurred during the build. Details: Errors running 'Flex' on project 'configurator'. java.lang.NullPointerException

“问题”视图告诉我引用错误日志......

Errors (2 items): an internal build error has occurred. See the error log for more information.

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

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

Could not create the view: an unexpected exception was thrown.

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安装完全不同的系统也会中断。

我与Adobe的电话支持部门联系以获取有关此问题的帮助。我被告知这将是十五分钟后,我等了一个多小时才停下来,只是让他们告诉我他们不再为产品提供电话支持。 (可悲的是,在我等待之前,他们的电话树无法解决这个问题。)但是,我被告知platformt2-noida@adobe.com可以获得“二级电子邮件支持”。我应该知道的比让我的希望更好,地址无效,我的消息都被反弹了!

我不知道发生了什么。似乎我必须做其他事情而忘记它,因为目前的情况毫无意义。以前有人遇到过这个问题吗?您是否知道可能导致它的原因,或者我可能采取哪些措施来解决它?

2 个答案:

答案 0 :(得分:3)

我们终于找到了解决方案。它相当虎头蛇尾。

忽略所有错误。

导入项目文件并以您想要的任何顺序激活正确的SDK版本。如果你最终搞乱了“Project Explorer”视图,只需关闭视图并重新打开它,或重新启动Flash Builder。

“Project Explorer”视图可用后,选择您的主项目并运行它。它应该工作!


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

答案 1 :(得分:0)

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