我正在尝试从这里使用 Linux 下的 Adobe Flex Apache (2.2) 模块 - http://labs.adobe.com/wiki/index.php/Flex_Module_for_Apache_and_IIS
(手动安装)。我有一个完美运行的 Apache 系统,带有 Ubuntu 8.10 和 Sun JDK v6 update 10,所以安装它与支持工具无关。
我不知道如何使这个 apache 模块工作。
我的httpd.conf
节目是这样的:
LoadModule flex_module /usr/lib/apache2/modules/mod_flex.so
AddHandler flex .mxml
mod_flex.so 位于正确的位置。
我有/usr/bin/compiler.sh:
#!/bin/sh
java -Djava.awt.headless=true -ms128M -mx256M -jar "/home/jamie/Adobe_Flex_Builder_Linux/flexc.jar" ${*} 2>&1
(你到底为什么要硬编码这个位置?)。这个 shell 脚本被执行(例如,如果我放一个echo "hi!" >> /tmp/log.txt
,它就会出现)。
但是,它只是返回给浏览器一个空白页面。所以模块正在做某事,它只是没有正确地做。
编译器配置文件(我把它放在与 compiler.sh 相同的目录中,作为 flexc.jar 和正在编译的 .mxml 文件参考:
flex_config=/home/jamie/Adobe_Flex_Builder_Linux/sdks/3.0.0/frameworks/flex-config.xml
flex_lib=/home/jamie/Adobe_Flex_Builder_Linux/sdks/3.0.0/frameworks
现在,有时我设法将错误输出到浏览器中 - 它抱怨无法找到类 flash.localization.ILocalizer。
我已经设法通过编辑 flexc.jar 中的清单以指向 Adobe 的 3.0.0 Flex SDK 中的必要 jar 文件来消除该错误(我确实尝试将 CLASSPATH 环境变量设置为指向必要的 jar,但是那没有用)现在,我最新的错误是:
服务器发生错误。服务器错误是:'服务器线程发生错误;嵌套异常是:java.lang.NoClassDefFoundError: flex2/linker/SimpleMovie'
这显示在浏览器中格式良好的“编译结果”页面中,所以很明显,现在我让编译器尝试编译 mxml,但由于缺少 mxmlc.jar 而失败。将 mxmlc.jar 添加到 flexc.jar 清单并没有解决最后一个问题。
任何帮助表示赞赏!