配置 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 中,如何在版本中命名战争文件与在快照构建中不同