Сборка проекта 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