2010-06-10 26 views
3

我使用flexmojos-maven-plugin構建我的Flex模塊。所以在編譯階段我得到如何在使用flexmojos-maven-plugin時獲得有用的編譯錯誤信息?

org.apache.maven.plugin.MojoExecutionException:編譯錯誤!

沒有關於錯誤發生在何處以及編譯錯誤的性質的信息。如果有人能告訴我如何讓flexmojos-maven-plugin打印關於編譯錯誤的更多信息,我將不勝感激。

+0

你有沒有設法編譯任何東西(永遠)還是這部分試圖讓Maven第一次工作? – 2010-06-10 11:38:28

+1

這個模塊正在由另一個人在FlexBuilder下開發(編譯)。我想要做的是將構建過程移到Maven。我想知道編譯錯誤信息如何缺少文件名,行號等基本信息。 – Tony 2010-06-10 11:47:26

+0

我可以說,我從來沒有像以前那樣的錯誤信息(Maven總是給我文件和行),這就是爲什麼我問你是否成功編譯了任何東西。這可能有助於嘗試首先獲得一個簡單的項目建設。另外,你可以發佈整個輸出(可能是pastebin)嗎?有時候,實際的錯誤信息可能與上一次輸出相距很遠。 – 2010-06-10 13:16:37

回答

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> 

第一次更改修復了空指針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> 
0

我之前一直處於這種情況。事實證明,實際的錯誤消息隱藏在控制檯輸出的某處。

嘗試將所執行的maven命令生成的所有控制檯輸出複製粘貼到某處的文本編輯器中,然後搜索字符串'ERROR'。

相關問題