我的项目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>
有人可以帮忙吗??
答案 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)
由于