使用flexmojos-maven-plugin时如何获取信息性编译错误消息?

时间:2010-06-10 11:30:33

标签: flex compiler-errors maven flexmojos

我正在使用 flexmojos-maven-plugin 来构建我的Flex模块。所以在编译阶段我得到了

  

org.apache.maven.plugin.MojoExecutionException:编译错误!

没有关于错误发生在何处(在什么源文件中)以及编译错误的性质的信息。如果有人能告诉我如何使flexmojos-maven-plugin打印有关编译错误的更多信息,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

我有类似的问题。第一个答案是,在编译时获取更多信息是使用内置的maven -X选项。

mvn -X clean install

这将为您提供描述此错误发生位置的输出。对我来说,我有一个非常类似的错误,它最终来自“Adobe的代码”,可以这么说。

在我的情况下,通过略过错误堆栈跟踪:

[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]...

我可以告诉它与描述符文件有关。所以我打开了我的描述符文件(基于一些谷歌搜索)改变了以下内容:

<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>

第一个更改修复了空指针异常,第二个更改允许我的应用程序窗口显示。

我希望这有助于某人,
-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>

答案 1 :(得分:0)

我之前遇到过这种情况。事实证明,实际的错误消息隐藏在控制台输出的某处。

尝试将从执行的maven命令生成的所有控制台输出复制粘贴到某处的文本编辑器中,并搜索字符串'ERROR'。