我有一个mavenized flex项目,用adobe sdke 4.6构建得很好。 现在,我正在尝试用apache最近的sdk编译它。 我对sdk进行了编组,并在本地存储库中复制了依赖项。 我编写的apache版本是:4.13.0.20140701。
我的pom如下:
<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构建。
答案 0 :(得分:1)
Flexmojos-maven-plugin版本7.0.x使用FDK 4.12.1.20140427构建。这个FDK声明为对这个maven插件的依赖。 您首先需要对FDK 4.12.1.20140427进行mavenize并将其放到maven存储库中。只有在那之后你才可以对其他版本的FDK进行编组。
答案 1 :(得分:0)
肮脏的解决方法是更改flexmojo-parent pom文件:并手动编辑:
<flex.version>4.13.0.20140701</flex.version>
直到flexmojo开发者得到更好的响应。
答案 2 :(得分:0)
我最近写了很多文档,请查看: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