Как получить информативные сообщения об ошибках компиляции при использовании flexmojos-maven-plugin? - PullRequest
3 голосов
/ 10 июня 2010

Я использую flexmojos-maven-plugin для сборки моего модуля Flex. Итак, на этапе compile я получаю

org.apache.maven.plugin.MojoExecutionException: Ошибка компиляции!

без информации о том, где (в каком исходном файле) произошла ошибка и какова природа ошибки компиляции. Я буду признателен, если кто-нибудь может рассказать мне, как заставить flexmojos-maven-plugin печатать больше информации об ошибках компиляции.

Ответы [ 2 ]

2 голосов
/ 29 ноября 2011

У меня была похожая проблема.Первый ответ, чтобы получить больше информации при компиляции, это использовать встроенную опцию 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]...

Я могу сказать, что это как-то связано с файлом дескриптора.Поэтому я открыл свой файл дескриптора и (основываясь на нескольких поисках в Google) изменил следующее:

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

на:

<content>MyAppName.swf</content>

и:

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

to:

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

Первое изменение исправило исключение нулевого указателя, а второе позволило отображать окно моего приложения.

Надеюсь, это кому-нибудь поможет,-gMale

edit:

Кроме того, не забудьте явно указать ваш дескриптор в конфигурации 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 голосов
/ 14 ноября 2016

Я был в такой ситуации раньше. Оказывается, что фактическое сообщение об ошибке скрыто где-то в выводе консоли.

Попробуйте скопировать и вставить все выходные данные консоли, сгенерированные из этой выполненной команды maven, в текстовый редактор и найти строку «ОШИБКА».

...