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 Player が見つからないのはなぜsettings.xmlですか? どうすればこれを修正できますか?

アップデート:

私も次のことを試しました:

  • Flash Player を.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 では、flexmojos に「flashplayer」という名前を付け、それを含むディレクトリをシステム パスに含めることで、プレーヤーを見つけることもできます。もう 1 つの解決策は、settings.xml に「release」という名前の複製プロファイルを作成することです。これにより、protery が使用可能になります。

于 2012-07-30T10:09:19.913 に答える
0

間違った方法で maven を呼び出している可能性があります。問題は Flash プレーヤーの場所にあるとは思いません。エラーは、「release」文字列がプロファイルとして読み取られるべきではないのに読み取られることを明確に示しています。Maven コマンド ラインを提供できますか?

于 2012-11-06T20:15:22.770 に答える