0

我的 Cairngorm 程序在允许 Cairngorm 的 ServiceLocator 开始使用相同的 RemoteObject 获取业务数据之前对 RemoteObject 进行了一些初步验证。Flex Builder 一切正常,但我需要一个 Ant 构建。Ant mxmlc 任务编译一切正常,但在运行时生成的代码在 Cairngorm 的 RemoteObjects 类的 getService() 方法处失败,因为它找不到服务。

这可能是因为 Cairngorm 代码在 Ant 驱动的编译中的链接方式不同?在由 -dump-config 生成的文件中(这个文件很好,在命令行上与 mxmlc 一起使用)唯一对 Cairngorm swc 的引用在这个元素中:

<库路径>
     <路径元素>\路径\到\目录\包含\Cairngorm.swc</路径元素>
</库路径>

我的 build.xml 中的相应元素是

<compiler.library-path dir="${basedir}" append="true">
    <include name="libs"/>
</compiler.library-path>

除了在 FB 输出和我的 build.xml 中将 static-link-runtime-shared-libraries 显式设置为 true 之外,我看不到任何会影响 Cairngorm 链接方式的内容。也许我的链接理论都是错误的?但是,当从同一个 SWF 中的其他地方访问同一个 RemoteObject 正常时,还有什么可能导致 Cairngorm 的远程访问失败?

4

1 回答 1

0

听起来 ANT 构建可能缺少在配置 RemoteObject 端点的services-config.xml文件中编译的-services标志。

在 FlexBuilder 中,查看项目属性并导航到 Flex Compiler 窗格。您应该看到“附加编译器参数”字段。确保将这些相同的附加参数传递给 ANT 编译任务。您正在寻找类似“-services services-config.xml”的内容

于 2009-07-01T17:49:55.283 回答