2

我正在尝试找出是否有任何方法可以使用 maven 构建我的 flex 移动项目。

当我运行我的 maven 构建时,我想要一个 apk 文件和一个 ipa 文件作为构建过程的输出。如果也有运行单元测试的方法,那将是非常酷的。

我想要的是一个解决方案、教程或如何处理它的示例。

有什么建议么?

4

3 回答 3

4

Flex Mojos 是使用 Maven 构建 Flex 应用程序的事实标准。据我所知,它目前不支持移动构建。

如果您有使用 Ant 的经验,您可以编写基于 Ant 的构建并使用 Maven AntRun 插件将目标的执行绑定到 Maven 阶段。下面是一个用于清理、编译、测试和打包的示例:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.6</version>
            <executions>
                <execution>
                    <id>clean-project</id>
                    <phase>clean</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <ant antfile="${basedir}/build/build.xml">
                                <target name="clean"/>
                            </ant>
                        </tasks>
                    </configuration>
                </execution>
                <execution>
                    <id>create-swf</id>
                    <phase>compile</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks unless="flex.skip">
                            <ant antfile="${basedir}/build/build.xml">
                                <target name="compile"/>
                            </ant>
                        </tasks>
                    </configuration>
                </execution>
                <execution>
                    <id>flexunit-tests</id>
                    <phase>test</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks unless="maven.test.skip">
                            <ant antfile="${basedir}/build/build.xml">
                                <target name="test"/>
                            </ant>
                        </tasks>
                    </configuration>
                </execution>
                <execution>
                    <id>generate-asdoc</id>
                    <phase>package</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks unless="asdoc.skip">
                            <ant antfile="${basedir}/build/build.xml">
                                <target name="asdoc"/>
                            </ant>
                        </tasks>
                    </configuration>
                </execution>
                <execution>
                    <id>dist</id>
                    <phase>package</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <ant antfile="${basedir}/build/build.xml">
                                <target name="dist"/>
                            </ant>
                        </tasks>
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <!--
                    since we are using maven-antrun 1.6 which depends on ant 1.8.1
                    make sure the version number on ant-junit matches
                -->
                <dependency>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant-junit</artifactId>
                    <version>1.8.1</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>
于 2011-07-13T12:28:30.563 回答
3

我认识的大多数人都使用Flex Mojos项目。据我了解,这些是针对 Flex 开发人员的一组 Maven 插件。

于 2011-07-13T11:49:37.840 回答
1

我也需要...

我做了一些谷歌搜索......这是我发现的纯 maven 解决方案......,到目前为止,请参阅这篇博文,我试过了,它有效 http://www.flexthinker.com/2011/07/how-用 maven 构建一个灵活的移动应用程序/

但是,它是付费版本,没有正式发布...

也许我会用纯Ant,不花哨但更高效

于 2012-04-02T05:06:11.027 回答