配置 Flash 播放器以与在 Maven 发布期间执行的 Flexmojos 一起使用:执行

Posted

技术标签:

【中文标题】配置 Flash 播放器以与在 Maven 发布期间执行的 Flexmojos 一起使用:执行【英文标题】:Configuring the Flash player for use with Flexmojos executed during a Maven release:perform 【发布时间】:2012-05-29 14:15:39 【问题描述】:

我有一个使用 Flexmojos 执行单元测试和构建 SWC 的 Maven 项目。当它执行单元测试时,我需要告诉 Flexmojos 我的 Flash 播放器在哪里,我通过settings.xml 来做:

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <flex.flashPlayer.command>/Applications/Flash Player Debugger.app/Contents/MacOS/Flash Player Debugger</flex.flashPlayer.command>
        </properties>
    </profile>
</profiles>

<activeProfiles>
    <activeProfile>dev</activeProfile>
</activeProfiles>

这在开发中效果很好,但是当我执行 Maven release:perform 时,它失败了:

[INFO] [WARNING] The requested profile "release" could not be activated because it does not exist.
[INFO] [ERROR] Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:4.1-beta:test-run (default-test-run) on project swf-module: Failed to launch Flash Player.  Probably java was not able to find flashplayer.
[INFO] [ERROR] Make sure flashplayer is available on PATH
[INFO] [ERROR] or use -DflashPlayer.command=$flashplayer executable
[INFO] [ERROR] Read more at: https://docs.sonatype.org/display/FLEXMOJOS/Running+unit+tests: Cannot run program "flashplayer": error=2, No such file or directory

为什么release:perform 找不到settings.xml 中指定的Flash 播放器?我该如何解决这个问题?

更新:

我还尝试了以下方法:

将 Flash 播放器设置为 .swf 文件的默认程序(注意这是在 Mac 上) 在路径中添加flashplayer

...一切都无济于事。

更新 2:

如果我将 Flash Player 调试器放在名称为 flashplayer 的路径上,则错误变为:

[INFO] [WARNING] The requested profile "release" could not be activated because it does not exist.
[INFO] [ERROR] Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:4.1-beta:test-run (default-test-run) on project swf-module: Unexpected return code 1 - /Users/blah/blah/swf-module/target/test-classes/TestRunner.swf -> [Help 1]

...对于失败的原因没有进一步的线索。

【问题讨论】:

【参考方案1】:

我认为原因是您明确尝试激活未在任何地方定义的配置文件“发布”。由于 Flash Player 属性的定义是在配置文件“dev”中定义的,因此必须激活它才能提供该属性。在 flexmojos 中,您还可以通过将播放器命名为“flashplayer”并将包含它的目录放在系统路径中来让 flexmojos 找到播放器。另一种解决方案是在您的 settings.xml 中创建一个名为“release”的重复配置文件,然后 protery 将可用。

【讨论】:

【参考方案2】:

也许您以错误的方式调用 maven,我认为问题不在于 Flash 播放器的位置。该错误清楚地表明“release”字符串被读取为配置文件,而它不应该被读取。你能提供你的 Maven 命令行吗?

【讨论】:

以上是关于配置 Flash 播放器以与在 Maven 发布期间执行的 Flexmojos 一起使用:执行的主要内容,如果未能解决你的问题,请参考以下文章

如何以与在 Windows 资源管理器中“发送给邮件收件人”相同的方式以编程方式发送电子邮件?

maven安装与在eclipse中配置

在 Maven 中,如何在版本中命名战争文件与在快照构建中不同

将 javascript 连接到 php 套接字以与 Flash 通信

Flash时代正式结束,html5准备好了吗?

如何延迟音频播放以与 FFT 同步