3

我目前正在开发一个 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 -> [帮助 1]

所以,我有一个强制 playerglobal 版本的依赖:

<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 新手,所以也许我做得很糟糕。

4

2 回答 2

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>
于 2012-09-12T12:27:49.293 回答
0

如果您搜索 sonatype 存储库,您会发现您正在寻找的实际依赖项是:

<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 的不足。

于 2012-09-12T12:30:54.003 回答