Сборка проекта Flex Flex с помощью Apache SDK

У меня есть проект mavenized flex, который прекрасно работает с Adobe SDK 4.6. Теперь я пытаюсь скомпилировать его с Apache недавнего SDK. Я придумал SDK и скопировал зависимости в локальный репозиторий. версия apache, которую я придумал: 4.13.0.20140701 .

мой пом как ниже:

<properties>
        <flexmojos.version>7.0.1</flexmojos.version>
        <flex.version>4.13.0.20140701</flex.version>
        <flash.version>11.1</flash.version>
    </properties>

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

        <plugins>
            <plugin>
                <groupId>net.flexmojos.oss</groupId>
                <artifactId>flexmojos-maven-plugin</artifactId>
                <version>${flexmojos.version}</version>
                <extensions>true</extensions>

                <configuration>
                    <debug>true</debug>
                    <sourceFile>ComptaFlex.mxml</sourceFile>
                    <services>${basedir}/src/main/flex/services/services-config.xml</services>
                    <compilerWarnings>
                        <warn-no-constructor>false</warn-no-constructor>
                    </compilerWarnings>
                </configuration>
                <dependencies>
                    <!-- This handles a bug in maven which causes problems with flex resources -->
                    <dependency>
                        <groupId>net.flexmojos.oss</groupId>
                        <artifactId>flexmojos-threadlocaltoolkit-wrapper</artifactId>
                        <version>${flexmojos.version}</version>
                    </dependency>
                    <!-- Without this FM will use the compiler configured in its master 
                        pom, which will result in version conflicts -->
                    <dependency>
                        <groupId>org.apache.flex</groupId>
                        <artifactId>compiler</artifactId>
                        <version>4.13.0.20140701</version>
                        <type>pom</type>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>

Я получил ошибку компиляции Maven как:

xmojos.oss:flexmojos-flex-compiler:jar:7.0.1 -> net.flexmojos.oss:flexmojos-generator-internal-compiler-iface:jar:7.0.1 -> org.apache.flex:compiler:pom:4.12.1.20140427: Failed to read artifact descriptor for org.apache.flex:compiler:pom:4.12.1.20140427: Could not transfer artifact org.apache.

кажется, что flex mojo всегда использует версию apache по умолчанию и игнорирует мою. Как я могу заставить Flexmojo построить с моей данной версией.

3 ответа

Flexmojos-maven-plugin версии 7.0.x построен с использованием FDK 4.12.1.20140427. Этот FDK объявлен зависимостью от этого плагина maven. Сначала нужно mavenize FDK 4.12.1.20140427 и поместить его в хранилище maven. Только после этого вы можете mavenize другие версии FDK.

Грязный обходной путь - изменить pom-файл flexmojo-parent: и отредактировать вручную:

<flex.version>4.13.0.20140701</flex.version>

пока flexmojo developpers не придет с лучшим откликом.

В последнее время я написал довольно много документации, пожалуйста, проверьте по адресу: https://cwiki.apache.org/confluence/display/FLEX/Preparing+FDKs+for+Maven+builds

Краткая версия: Мы создали расширение maven, которое должно автоматически загружать и устанавливать Flex SDK, как они упоминаются в сборке maven. Также Flexmojos 7.1.0-SNAPSHOT был обновлен и больше не содержит ссылки на какой-либо артефакт FDK. Также мы теперь используем 3-сегментные версии, такие как: 4.14.1

Другие вопросы по тегам