Как скомпилировать проект maven / flex без файла * .mxml? - PullRequest
5 голосов
/ 13 декабря 2010

Есть ли способ, как скомпилировать проект maven / flex, который не содержит * .mxml? Проект flex содержит только классы ActionScript (т. Е. Каталог «src / flex» содержит только файлы * .as). Мой pom.xml здесь:

<groupId>com.test</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<name>test</name>
<packaging>swf</packaging>
<build>
    <sourceDirectory>src/main/flex</sourceDirectory>
    <testSourceDirectory>src/test/flex</testSourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.sonatype.flexmojos</groupId>
            <artifactId>flexmojos-maven-plugin</artifactId>
            <version>3.8</version>
            <extensions>true</extensions>
            <dependencies>
                <dependency>
                    <groupId>com.adobe.flex</groupId>
                    <artifactId>compiler</artifactId>
                    <version>4.5.0.18623</version>
                    <type>pom</type>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>com.adobe.flex.framework</groupId>
        <artifactId>flex-framework</artifactId>
        <version>4.5.0.18623</version>
        <type>pom</type>
    </dependency>
    <dependency>
        <groupId>com.adobe.flexunit</groupId>
        <artifactId>flexunit</artifactId>
        <version>0.85</version>
        <type>swc</type>
        <scope>test</scope>
    </dependency>
</dependencies>

"mvn package -e" выдает эту ошибку:

[ERROR] Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:3.8:compile-swf (default-compile-swf) on project test: Source file not expecified and no default found! -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:3.8:compile-swf (default-compile-swf) on project q-integra-scorecard-ldservice: Source file not expecified and no default found!

Ответы [ 2 ]

2 голосов
/ 18 февраля 2011

Попробуйте добавить это внутри , где "Main.as" - ваш класс:

<configuration>
    <sourceFile>Main.as</sourceFile>
</configuration>
1 голос
/ 21 ноября 2011

В моем случае у меня не было никаких первичных исходных файлов (это был SWC с интерфейсными классами, такими как ISessionProxy.as).

Так что мне пришлось сделать две вещи, чтобы это заработало:

1) ссылка на мою исходную директорию (под тегом build):

<build>
    <sourceDirectory>src/main/flex</sourceDirectory>

2) следуйте советам, которые я нашел в этой почтовой группе и в группе Google FlexMojos :

"... просто удалите все зависимости на вашем pom, потому что эти зависимости уже определены на супер пом. "

Итак, я удалил все свои зависимости и добавил их по очереди, пока не получу их для компиляции. Все, что мне нужно было:

<dependency>
    <groupId>com.adobe.flex.framework</groupId>
    <artifactId>flex-framework</artifactId>
    <version>${flex.sdk.version}</version>
    <type>pom</type>
</dependency>

Я даже удалил все зависимости для плагина FlexMojos:

<plugin>
    <groupId>org.sonatype.flexmojos</groupId>
    <artifactId>flexmojos-maven-plugin</artifactId>
    <version>${flexmojos.version}</version>
    <configuration>
            <targetPlayer>${flash.player.version}</targetPlayer>
    </configuration>
</plugin>

Это сработало для меня, создав SWC, который мне нужен, и я надеюсь, что это поможет кому-то еще!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...