我目前正在开发一个 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 新手,所以也许我做得很糟糕。