我使用flexmojos-maven-plugin構建我的Flex模塊。所以在編譯階段我得到如何在使用flexmojos-maven-plugin時獲得有用的編譯錯誤信息?
org.apache.maven.plugin.MojoExecutionException:編譯錯誤!
沒有關於錯誤發生在何處以及編譯錯誤的性質的信息。如果有人能告訴我如何讓flexmojos-maven-plugin打印關於編譯錯誤的更多信息,我將不勝感激。
我使用flexmojos-maven-plugin構建我的Flex模塊。所以在編譯階段我得到如何在使用flexmojos-maven-plugin時獲得有用的編譯錯誤信息?
org.apache.maven.plugin.MojoExecutionException:編譯錯誤!
沒有關於錯誤發生在何處以及編譯錯誤的性質的信息。如果有人能告訴我如何讓flexmojos-maven-plugin打印關於編譯錯誤的更多信息,我將不勝感激。
我有類似的問題。第一個答案是,在編譯時要獲得更多信息,就是使用內置的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>
第一次更改修復了空指針ex ception和第二個允許我的應用程序窗口顯示。
我希望這可以幫助別人,
-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>
我之前一直處於這種情況。事實證明,實際的錯誤消息隱藏在控制檯輸出的某處。
嘗試將所執行的maven命令生成的所有控制檯輸出複製粘貼到某處的文本編輯器中,然後搜索字符串'ERROR'。
你有沒有設法編譯任何東西(永遠)還是這部分試圖讓Maven第一次工作? – 2010-06-10 11:38:28
這個模塊正在由另一個人在FlexBuilder下開發(編譯)。我想要做的是將構建過程移到Maven。我想知道編譯錯誤信息如何缺少文件名,行號等基本信息。 – Tony 2010-06-10 11:47:26
我可以說,我從來沒有像以前那樣的錯誤信息(Maven總是給我文件和行),這就是爲什麼我問你是否成功編譯了任何東西。這可能有助於嘗試首先獲得一個簡單的項目建設。另外,你可以發佈整個輸出(可能是pastebin)嗎?有時候,實際的錯誤信息可能與上一次輸出相距很遠。 – 2010-06-10 13:16:37