3

flexmojos-maven-pluginを使用して Flex モジュールをビルドしています。だから私が得ているコンパイル段階で

org.apache.maven.plugin.MojoExecutionException: コンパイル中にエラーが発生しました!

どこで (どのソースファイルで) エラーが発生したか、およびコンパイルエラーの性質についての情報はありません。コンパイル エラーに関する詳細情報を flexmojos-maven-plugin に出力させる方法を教えていただければ幸いです。

4

2 に答える 2

2

同様の問題がありました。コンパイル時に詳細情報を取得するための最初の答えは、組み込みの maven -X オプションを使用することです。

mvn -X clean install

これにより、このエラーが発生している場所を説明する出力が得られます。私にとっては、あなたが持っているものと非常によく似たエラーがあり、それは最終的にいわば「アドビのコード」から来ていました。

私の場合、エラースタックトレースをざっと見てみると:

[ERROR] Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:4.0-SNAPSHOT:sign-air
(default-sign-air) on project barebones-air: Error invoking AIR api: NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:4.0-SNAPSHOT:sign-air
(default-sign-air) on project barebones-air: Error invoking AIR api

...[other stacktrace output, snipped]...

Caused by: java.lang.NullPointerException
    at com.adobe.air.ADTOutputStream.addApplicationDescriptor(ADTOutputStream.java:330)
    at com.adobe.air.AIROutputStream.addApplicationDescriptor(AIROutputStream.java:63)
    at com.adobe.air.ApplicationPackager.addSpecialFiles(ApplicationPackager.java:242)
    at com.adobe.air.AIRPackager.addSpecialFiles(AIRPackager.java:172)
    at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:63)
    at org.sonatype.flexmojos.plugin.air.packager.FlexmojosAIRPackager.createPackage(FlexmojosAIRPackager.java:72)
    at org.sonatype.flexmojos.plugin.air.SignAirMojo.doPackage(SignAirMojo.java:332)
    ... 26 more

...[other stacktrace output, snipped]...

記述子ファイルと関係があることがわかりました。そこで、記述子ファイルを開き、(いくつかの Google 検索に基づいて) 以下を変更しました。

<content>[This value will be overwritten by Flash Builder in the output app.xml]</content>

に:

<content>MyAppName.swf</content>

と:

    <visible>false</visible>
</initialWindow>

に:

    <visible>true</visible>
</initialWindow>

最初の変更でヌル ポインター例外が修正され、2 番目の変更でアプリケーション ウィンドウが表示されるようになりました。

これが誰かの
役に立てば幸いです -gMale


編集:

また、Flexmojos の構成で記述子を明示的に指定してください。

<plugin>
    <groupId>org.sonatype.flexmojos</groupId>
    <artifactId>flexmojos-maven-plugin</artifactId>
    <version>${flexmojos.version}</version>
    <configuration>
        <sourceFile>${application.name}.mxml</sourceFile>
        <finalName>${application.name}</finalName>             
        <descriptorTemplate>${project.build.sourceDirectory}/${application.name}-app.xml</descriptorTemplate>
        <storepass>${keystore.password}</storepass>
    </configuration>
    <extensions>true</extensions>
    <dependencies>
        <dependency>
            <groupId>com.adobe.flex</groupId>
            <artifactId>compiler</artifactId>
            <version>${flex.sdk.version}</version>
            <type>pom</type>
        </dependency>
    </dependencies>
</plugin>
于 2011-11-29T17:32:14.797 に答える
0

私は以前にこのような状況にありました。実際のエラー メッセージは、コンソール出力のどこかに隠されていることがわかります。

その実行された maven コマンドから生成されたすべてのコンソール出力をテキスト エディターのどこかにコピー アンド ペーストし、文字列 'ERROR' を検索してみてください。

于 2016-11-14T09:27:51.817 に答える