Flex 4.1和maven2的Flex-Mojo / Flex-compiler版本问题

时间:2010-06-25 20:22:29

标签: maven-2 flex4 flex-mojos

我的项目UI是使用Flex4.1构建的。我正在使用maven2并试图找出应该用于编译的flex-mojo版本。

我尝试了以下内容,

<flex.sdk.version>4.1.0.16076</flex.sdk.version>
<flex.mojo.version>3.6.1</flex.mojo.version>

但我遇到了问题..

[INFO] Flex compiler and flex framework versions doesn't match. Compiler: '3.2.0.3958' - Framework: '4.1.0.16076'. You can use 'ignoreVersionIssues' to disable this check. Please refer to Flexmojos maven doc. If you prefer fixing it instead of ignoring, take a look at: https://docs.sonatype.org/display/FLEXMOJOS/How+to+set+Flex+SDK+version [INFO] ------------------------------------------------------------------------ [INFO] Trace org.apache.maven.BuildFailureException: Flex compiler and flex framework versions doesn't match. Compiler: '3.2.0.3958' - Framework: '4.1.0.16076'. You can use 'ignoreVersionIssues' to disable this check. Please refer to Flexmojos maven doc. If you prefer fixing it instead of ignoring, take a look at: https://docs.sonatype.org/display/FLEXMOJOS/How+to+set+Flex+SDK+version at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:699) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:540) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:519) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137) at org.apache.maven.cli.MavenCli.main(MavenCli.java:356) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.plugin.MojoFailureException: Flex compiler and flex framework versions doesn't match. Compiler: '3.2.0.3958' - Framework: '4.1.0.16076'. You can use 'ignoreVersionIssues' to disable this check. Please refer to Flexmojos maven doc.

不太清楚为什么它将编译器版本称为'3.2.0.3958',尽管我已经定义了与“flex.sdk.version”相同的编译器版本。我的插件看起来像

       <plugin>
            <groupId>org.sonatype.flexmojos</groupId>
            <artifactId>flexmojos-maven-plugin</artifactId>  
            <version>${flex.mojo.version}</version>  
            <extensions>true</extensions>
            <configuration>
                <!--
                <linkReport>true</linkReport>
                <configurationReport>true</configurationReport>
                -->
                <locales>
                    <param>en_US</param>
                </locales>
                <sourcePaths>
                    <path>${project.build.sourceDirectory}</path>
                </sourcePaths>
                <contextRoot>${project.parent.artifactId}</contextRoot>
                <showWarnings>false</showWarnings>
                <debug>true</debug>
                <keepGeneratedActionscript>false</keepGeneratedActionscript>
                <incremental>true</incremental>
                <!-- <ignoreVersionIssues>true</ignoreVersionIssues> -->
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>com.adobe.flex</groupId>
                    <artifactId>compiler</artifactId>
                    <version>${flex.sdk.version}</version>
                    <type>pom</type>
                </dependency>
            </dependencies>
        </plugin>

有人可以帮忙吗??

2 个答案:

答案 0 :(得分:0)

试试这个

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
    <groupId>org.springframework.flex.samples</groupId>
    <artifactId>spring-flex-testdrive</artifactId>
    <version>1.0.3.RELEASE</version>
</parent>

<artifactId>collaboration</artifactId>
<packaging>swf</packaging>

<name>Collaboration Sample</name>

<build>
    <finalName>collaboration</finalName>
    <sourceDirectory>src/main/flex</sourceDirectory>
    <testSourceDirectory>src/test/flex</testSourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.sonatype.flexmojos</groupId>
            <artifactId>flexmojos-maven-plugin</artifactId>
            <version>3.6.1</version>
            <extensions>true</extensions>
            <executions>
              <execution>
                <goals>
                  <goal>wrapper</goal>
                </goals>
              </execution>
            </executions>

            <configuration>
                <output>${basedir}/../testdrive/src/main/webapp/${project.build.finalName}/${project.build.finalName}.swf</output>
                <services>${basedir}/../testdrive/src/main/webapp/WEB-INF/flex/services-config.xml</services>
                <contextRoot>/testdrive</contextRoot>
                <locales>
                    <locale>en_US</locale>
                </locales>
                 <targetPlayer>10.0.0</targetPlayer> 
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>com.adobe.flex</groupId>
                    <artifactId>compiler</artifactId>
                    <version>4.0.0.14159</version>
                    <type>pom</type>
                </dependency>
            </dependencies>

        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>com.adobe.flex.framework</groupId>
        <artifactId>flex-framework</artifactId>
        <version>4.0.0.14159</version>
        <type>pom</type>
    </dependency>


    <!-- flexmojos Unit testing support -->
    <!--
        <dependency> <groupId>org.sonatype.flexmojos</groupId>
        <artifactId>flexmojos-unittest-support</artifactId>
        <version>3.2.0</version> <type>swc</type> <scope>test</scope>
        </dependency>
    -->
</dependencies>

 </project>

答案 1 :(得分:0)

好吧,我花了一天的时间来试图找出同样的事情。最后,我碰到了这个:

由于flexmojos是一个扩展,它将在构建之前下载 开始将swc / swf打包支持分配到内存中。

我决定项目中的其他东西(这是巨大的)是为flex4配置flexmojo(我试图构建一个旧的flex3模块),我得到了这个内存配置的插件。所以,我找到了另一个正确构建的flex3组件,并更改了我的flexmojo版本以匹配该组件。有效。有意义的是,maven必须为该插件的每个版本保留插件的内存实例。

因此,请尝试更改您的flexmojo版本号(我从1.6.1更改为1.5.0)

由于