0

我有一个 mavenized flex 项目,它使用 adobe sdke 4.6 构建得很好。现在,我正在尝试用 apache 最近的 sdk 编译它。我对 sdk 进行了 mavenized 并将依赖项复制到本地 repo 中。我 mavenized 的 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 构建。

4

3 回答 3

1

Flexmojos-maven-plugin 版本 7.0.x 是使用 FDK 4.12.1.20140427 构建的。此 FDK 声明为对此 maven 插件的依赖项。您首先需要 mavenize FDK 4.12.1.20140427 并将其放入您的 maven 存储库。只有在那之后,您才能对其他版本的 FDK 进行 mavenize。

于 2014-11-08T11:20:27.230 回答
0

一个肮脏的解决方法是更改​​ flexmojo-parent pom 文件:并手动编辑:

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

直到 flexmojo 开发人员提供更好的响应。

于 2014-10-03T08:05:02.973 回答
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

于 2015-07-29T13:29:16.503 回答