我们一直在使用Maven构建我们的Flex应用程序。由于我们使用RIATest进行集成测试,我们需要在其中编译RIATest代理并使用Flex自动化库创建应用程序的特殊测试版本。显然,对于后者,我们需要为flex编译器提供许可证,因为这只能从高于标准版本的版本中获得。
直到Flex 4.0和RIATest 3.8工作正常,我们在用户主目录的flex-config文件中定义了许可信息。
然而,目前使用Flex 4.5和RIATest 4的组合我们遇到了问题,测试总是失败,“许可证不存在。试用版只允许有限的重放。”
我们尝试过为Flashbuilder 4.5定义许可证密钥的多种变体,但我们没有成功。目前,我们在POM中的flexmojo配置引用了一个外部flex-config文件,我们尝试定义许可证密钥。
答案 0 :(得分:2)
使用flexmojos 3.8,RIATest 4和Flex SDK 4.5.1,我们找到了解决方案。
首先,我们发现我们在
中有一个迷路配置.adobe/Flex/license.properties
在构建服务器上的Jenkins用户主目录中的文件。重要的是要知道这里的配置会被flexmojos自动包含在构建中。因此,如果您想确保没有外部依赖项的良好隔离构建,请删除此文件。
然后我们发现我们可以从flexmojo配置中引用外部flex-config.xml文件,如下所示:
<execution>
<id>build-release-version</id>
<phase>compile</phase>
<goals>
<goal>compile-swf</goal>
</goals>
<configuration>
<configFiles>
<configFile>flex-config.xml</configFile>
</configFiles>
</configuration>
</execution>
在flex-config.xml文件中,您需要使用以下许可证语法:
<licenses>
<license>
<product>flashbuilder45</product>
<serial-number>LICENSE CODE</serial-number>
</license>
</licenses>
现在最后的问题是:我们需要在序列号元素中使用的许可证代码是 NOT 我们从Adobe获得的许可证号码(我们在安装Flash Builder时使用的许可证号码)工具)但它是该许可证编号的派生形式,例如可以在安装了Flash Builder的开发人员的license.properties文件中找到。此派生的许可证编号与原始许可证编号不同,并且没有破折号。
神秘。
答案 1 :(得分:0)
我们用这种方式定义了flexmojo(4.0-RC1)配置:
<plugin>
<groupId>org.sonatype.flexmojos</groupId>
<artifactId>flexmojos-maven-plugin</artifactId>
<version>${flexmojos.version}</version>
<configuration>
<debug>${flex.debug}</debug>
<swfVersion>11</swfVersion>
<licenses>
<flashbuilder4>${flex.serial-number}</flashbuilder4>
</licenses>
<themes>
<theme>
${settings.localRepository}/com/adobe/flex/framework/framework/${flex.version}/configs_zip/themes/Spark/spark.css
</theme>
</themes>
<rslUrls>
<url>rsl/{artifactId}-{version}.{extension}</url>
</rslUrls>
</configuration>
<dependencies>
<!-- This handles a bug in maven which causes problems with flex resources -->
<dependency>
<groupId>org.sonatype.flexmojos</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>com.adobe.flex</groupId>
<artifactId>compiler</artifactId>
<version>${flex.version}</version>
<type>pom</type>
</dependency>
</dependencies>
</plugin>
有了这个,我可以使用我的FlashBuilder 4 Key使用Flex SDK 4.5.0.20967构建应用程序......不知道4.5键是否发生了变化。
答案 2 :(得分:0)
您似乎可以直接在Flexmojos配置中定义它,而无需像这样的外部文件:
<configuration>
<licenses>
<flashbuilder45>LICENSE CODE</flashbuider45>
</licenses>
</configuration>
注意@Boris说,您需要获取安装FlashBuilder后可以获得的派生许可证号码(有关可以找到此文件的每个操作系统的位置,请参阅About configuration files。)