我正在使用 flexmojos-maven-plugin 来构建我的Flex模块。所以在编译阶段我得到了
org.apache.maven.plugin.MojoExecutionException:编译错误!
没有关于错误发生在何处(在什么源文件中)以及编译错误的性质的信息。如果有人能告诉我如何使flexmojos-maven-plugin打印有关编译错误的更多信息,我将不胜感激。
答案 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'。