Flash Builder 4.5 导入无法找到

3

我刚从Flash Builder 4升级到4.5,并导入了其中一个项目。现在,我看到所有导入本地类的导入语句旁边的水槽中有一个橙色问号(以及使用该类方法的任何位置),并且导入语句下方出现橙色下划线。当我将鼠标悬停在下划线上时,它显示找不到导入内容。

该项目编译和运行没有问题(我使用ANT构建该项目)。

如果我打开其中一个相关的类文件 然后更改一些内容(即按空格键),并保存 (编辑:实际上发现我甚至不必保存,只需打开就可以让FB找到它),然后返回导入该文件的文件,便不再显示该导入的橙色问号,同时,我可以获得代码提示并使用CTL + 单击链接到类文件。但是,如果我关闭该文件,重新打开,则无法找到类文件。

这些类存储在我的项目src目录下:

 - src
  +---com
      +---myappname
          +---services
          +---utils
          etc...

我的导入语句如下:
import com.myappname.utils.*;
import com.myappname.services.remoteService;

有什么想法吗?这是FB 4.5的“增强”吗?我尝试删除和重新导入项目,刷新项目,但现在有点不知所措。这很烦人,可能需要降级到4版。


1
是的。它不能很好地迁移.project文件。创建一个新项目并导入源代码是否可行? - RIAstar
谢谢@RIAstar。我会尝试并回来报告结果。 - Abram
不幸的是,这并没有帮助。还有其他建议吗? - Abram
我在我的项目导入中也遇到了同样的问题。我建议你在Adobe论坛上提出这个问题或者在那里寻找答案。 - J_A_X
你的“src”文件夹真的是源文件夹吗?我的意思是:它是否有小棕色的包图标?在“库构建路径”下,它是否说“主源文件夹:src”? - RIAstar
我刚刚仔细检查了一下,没错,这确实是主源文件夹。 - Abram
5个回答

4

我曾经遇到过同样的问题,这是在Flash Professional CS 5.5中创建的项目,并按照此教程导入到Flash Builder 4.6中:http://www.adobe.com/devnet/flash-builder/articles/sharing-projects-flashbuilder-flash.html

后来发现,在Flash Builder中该项目没有任何对Flex SDK的引用。因此,在Flash Builder中,我选择了“项目”->“属性”->“ActionScript构建路径”,并点击“添加Flex SDK”按钮。

这立即解决了问题,而且还重新启用了Flash Builder中的代码完成功能,因为它现在可以找到导入的内容。

顺便说一下,我使用的是XP系统。

谢谢,Claus


这正是我所需要的,从CS 5.5 / FB 4.5迁移到CS 6 / FB 4.6...谢谢!! - Josh Stribling

2

已解决!

涉及的项目是Flex/Air应用程序,其中包含一个文件夹,位于默认的“src”文件夹内,并包含在启动Air应用程序时本地运行的Web应用程序服务器(railo),以为Air客户端提供“服务器端”功能。仅将此文件夹放在src文件夹中以便打包到Air安装程序中。但是,我发现如果删除该目录,则所有导入引用开始正常工作。

我仍然需要src文件夹中的文件夹以便正确打包,因此我只需将其移至项目根目录(src之外),然后在src文件夹中创建一个“链接”即可。这样可以保持我的导入引用完好无损,并在exe构建中包括该文件夹。

我不确定为什么包括该文件夹会导致此问题(它不包括任何AS3或MXML文件),但我很高兴这是一个简单的解决方法。


1
请查看您的项目构建文件(.flexlibproperties或.actionScriptProperties),看是否有异常之处(重复条目等)。

0

刚刚遇到了完全相同的问题。

不得不说,我期望在互联网上找到这个问题的解决方案。

无论如何,

原因在于 - 你导入的项目是使用较旧版本的Flex sdk(可能是3.5或其他版本)创建的。Flash Builder 4.5支持从3.6及更高版本的sdk。这就是你的问题所在。

以下是解决方案 -

转到“项目”>“属性”>选择“ActionScript编译器”。

在右侧的对话框中,在“使用特定SDK”下选择Flex 3.6或更高版本。

当您应用这些设置时,它将显示一个确认框,通知有关它将引起的更改。不要担心,只需应用更改即可!

它会复活 :)

希望这可以帮助到您!


不幸的是,这并没有解决我的问题。该应用程序是使用Flex sdk 4.1开发的,我已经安装了4.1 sdk,并告诉Flex编译器使用该特定sdk,但仍然无济于事(我甚至根据您的帖子重新尝试了一次,但没有成功)。事实上,该项目可以使用4.1或4.5 sdk编译,只是在我手动打开类文件之前,它会出现找不到导入类的问题。 - Abram

0

我成功解决了这个问题,它曾经让我很烦恼,但不知何故Flash Builder在查找它们时出现了一些问题。

我的解决方法只是打开文件,我的应用程序没有太多的类,它相当简单,但这是一个简单的解决方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接