0

我有一个使用 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找不到指定的 Flash 播放器settings.xml?我怎样才能解决这个问题?

更新:

我还尝试了以下方法:

  • 将 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]

......没有进一步的线索,什么失败了。

4

2 回答 2

0

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

于 2012-07-30T10:09:19.913 回答
0

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

于 2012-11-06T20:15:22.770 回答