如何使用Maven构建Adobe Air项目?
有没有人用Maven成功构建过Adobe Air应用程序?如果是这样,那么让它工作的步骤是什么?如何使用Maven构建Adobe Air项目?
我一直试图用flex-mojos来构建一个Air应用程序。当我按照DashboardSamplePom的建议将包装类型设置为“aswf”时,Maven抱怨说aswf是未知的包装类型。我也发现他们air-super-pom,但无法弄清楚如何将其作为我的POM的父母引用它。
当一个插件声明一个新的打包类型,如'aswf'时,你需要声明它为扩展。在您的顶级pom中,将扩展元素添加到插件配置中。
<plugin>
<groupId>...</groupId>
<artifactId>...</artifactId>
<extensions>true</extensions>
...
</plugin>
我一直在寻找这个问题的答案。有几个网站已经证明有帮助,但我还没有完整的解决方案。
检查这些可能的线索:
- http://blogs.citytechinc.com/bgloff/?p=17
- http://jchristie.wordpress.com/2009/01/11/compiling-an-air-application-with-maven-and-flex-mojos/
AS的包装类型,大部分我所查到的资料显示,而不是使用aswf作为包类型,您需要使用swf,然后通过创建一个可调用税来调用adt.jar,将编译后的swf转换为您的air可执行文件。上面的链接将告诉您如何做到这一点。
至于你找到的空中超级pom,我认为有几个不同的......但是要使用任何超级pom,你需要让你的flex maven项目声明super pom作为父级,与此类似:
<parent>
<groupId>org.sonatype.flexmojos</groupId>
<artifactId>flexmojos-air-super-pom</artifactId>
<version>3.1-SNAPSHOT</version>
</parent>
不过只是延长了父POM可能不足以让您的SWF建筑 - 再次,见上面这个问题的更详细的治疗环节。
在我的情况下,我只是使用 org.graniteds.archetypes graniteds-tide-seam-jpa-hibernate原型创建了一个新的maven项目,并且得到了这个错误。我对flex没有任何了解,但只是希望使用Seam的示例项目。这似乎是一个很好的候选人。但我得到
未知包装类型:SWF
即使 的<扩展>真正<扩展>出现在生成的POM文件的插件definintion。
我在其他地方读过,这需要一个测试版的maven。为什么heat是sonatype允许取决于他们的资源库中的测试版maven的原型?
我创建了一个AIR Maven模板,您可以在此github项目中找到详细信息:https://github.com/branscha/tmplt-airapp。这个问题很老旧,所以我的解决方案中的版本/框架可能不再适合你。在过去的几年中,Flex/Air的情况发生了很大变化。我的解决方案的
特点:
- 我使用Maven化Apache的SDK(13.0),你应该做同样的事情 为您的项目是独立于外部的Maven仓库 的。简化SDK的过程并不困难。
- Flexmojos 6.0.1
- 你好世界的应用程序可以变成Android的 应用程序。
- 包装是“空气”(即上面所提到的ISO aswf)
我看不出这是一个答案,原来的问题... – elevine 2011-10-23 18:27:50