Flex& Maven:如何在pom.xml中升级playerglobal版本

时间:2012-09-12 10:37:00

标签: flex maven flexmojos

我目前正在开发一个flex应用程序,并且我已经使用本机游标支持在特定条件下动态更改游标。

我的应用程序使用Flex Sdk 4.1.0.16076运行,默认情况下使用Flash Player 10.0。 我已在项目首选项中将此版本升级到10.2,以便使用MouseCursorData类。

它在eclipse中运行正常,但是我使用maven作为依赖项,并且在进行maven构建时遇到编译错误,说找不到MouseCursorData类。

这非常正常,因为我在我的依赖项中使用了播放器10。所以我尝试更新我的pom.xml文件以将播放器升级到10.2:

     <plugin>
            <groupId>org.sonatype.flexmojos</groupId>
            <artifactId>flexmojos-maven-plugin</artifactId>
            <configuration>
                <targetPlayer>10.0</targetPlayer>
                <compiledLocales>
                    <locale>en_US</locale>
                    <locale>fr_FR</locale>
                </compiledLocales>
                <warnings>
                    <noConstructor>false</noConstructor>
                </warnings>
                <sourceFile>Opale.mxml</sourceFile>
                <generateHtmlWrapper>true</generateHtmlWrapper>
                <contextRoot>opale-web</contextRoot>
                <services>${basedir}/src/main/resources/services-config.xml</services>
                <output>target/opale-ui.swf</output>
            </configuration>
            <version>${flexmojos.version}</version>
            <extensions>true</extensions>
            <dependencies>
                <dependency>
                    <groupId>com.adobe.flex</groupId>
                    <artifactId>compiler</artifactId>
                    <version>${flex.sdk.version}</version>
                    <type>pom</type>
                </dependency>
            </dependencies>             
        </plugin>

首先,我已将flex mojo插件中的targetPlayer从10.0更改为10.2。 然后我得到了编译错误:

[错误]无法在项目opale-ui上执行目标org.sonatype.flexmojos:flexmojos-maven-plugin:3.9:compile-swf(default-compile-swf):TargetPlayer和playerglobal依赖版本没有比赛!目标牌手:10.2,全球玩家:10.0 - &gt; [帮助1]

所以,我有依赖强制播放全球版本:

<dependency>
    <groupId>com.adobe.flex.framework</groupId>
    <artifactId>playerglobal</artifactId>
    <version>${flex.sdk.version}</version>
    <classifier>10.2.0</classifier>
    <type>swc</type>
</dependency>

然后,我有以下错误:

Downloading:     http://repo.maven.apache.org/maven2/com/adobe/flex/framework/playerglobal/4.1.0.16076/playerglobal-4.1.0.16076-10.2.0.swc
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19.698s
[INFO] Finished at: Wed Sep 12 12:29:57 CEST 2012
[INFO] Final Memory: 9M/124M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project opale-ui: Could not resolve dependencies for     project com.igc.opale:opale-ui:swf:1.9-SNAPSHOT: Could not transfer artifact     com.adobe.flex.framework:playerglobal:swc:10.2.0:4.1.0.16076 from/to jboss     (http://repository.jboss.org/maven2/): Access denied to:     http://repository.jboss.org/maven2/com/adobe/flex/framework/playerglobal/4.1.0.16076/playerglobal-4.1.0.16076-10.2.0.swc, ReasonPhrase:Forbidden. -> [Help 1]

我是maven的新手,所以也许我做得非常糟糕。

2 个答案:

答案 0 :(得分:3)

您可以在插件中配置

<plugins>
    <plugin>
        <groupId>org.sonatype.flexmojos</groupId>
        <artifactId>flexmojos-maven-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
            <headlessServer>true</headlessServer>
            <verboseStacktraces>true</verboseStacktraces>

            <swfVersion>11</swfVersion>
            <targetPlayer>10.2</targetPlayer>
        ...
        </configuration>
    </plugin>
</plugins>

依赖:

<dependency>
    <groupId>com.adobe.flex.framework</groupId>
    <artifactId>playerglobal</artifactId>
    <version>4.5.1.21328</version>
    <classifier>10.2</classifier>
    <type>swc</type>
</dependency>

答案 1 :(得分:0)

如果你搜索sonatype repo,你会发现你正在寻找的实际依赖是:

<dependency>
 <groupId>com.adobe.flex.framework</groupId>
 <artifactId>playerglobal</artifactId>
 <version>4.1.0.16076</version>
 <classifier>10</classifier>
 <type>1.swc</type>
</dependency>

注意类型如何 1.swc ,我相信这是为了迎合早期版本SDK的不足。