maven flex build失败了

时间:2017-02-03 14:26:01

标签: java eclipse maven flex

我试图在Eclipse中使用2个模块构建maven项目,一个是java代码,另一个是flex代码。

instaled maven版本是3.3.9,jdk是jdk7_u80。

maven install -X命令给了我以下错误:

  

[DEBUG]查看包装swf的生命周期映射   ClassRealm [项目> project.project:prjt-FLEX:01.00.00,   parent:ClassRealm [maven.api,parent:null]] [ERROR]内部错误:   java.lang.ClassCastException:java.lang.String无法强制转换为   org.apache.maven.lifecycle.mapping.LifecyclePhase - > [帮助1]   org.apache.maven.InternalErrorException:内部错误:   java.lang.ClassCastException:java.lang.String无法强制转换为   org.apache.maven.lifecycle.mapping.LifecyclePhase at   org.apache.maven.DefaultMaven.execute(DefaultMaven.java:121)at   org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)at at   org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)at at   org.apache.maven.cli.MavenCli.main(MavenCli.java:199)at at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)     在   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     在java.lang.reflect.Method.invoke(Method.java:606)at   org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)     在   org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)     在   org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)     在   org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)   造成:java.lang.ClassCastException:java.lang.String不能   

转换为org.apache.maven.lifecycle.mapping.LifecyclePhase

问题似乎来自flex模块,在下面的pom.xml中:

<properties>
        <flex.version>4.5.1.21328</flex.version>
        <template.dir>src/main/html-template</template.dir> 
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <flexmojos.version>4.0-RC2</flexmojos.version>      
    </properties>
    <build>
        <sourceDirectory>src/main/flex</sourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.sonatype.flexmojos</groupId>
                <artifactId>flexmojos-maven-plugin</artifactId>
                <version>${flexmojos.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <fullSynchronization>true</fullSynchronization>
                    <showWarnings>false</showWarnings>
                    <optimize>true</optimize>
                    <allowSourcePathOverlap>true</allowSourcePathOverlap>
                    <sourceFile>flexprojt.mxml</sourceFile>
                    <output>target/flexprojt.swf</output>                   
                    <localesCompiled>                       
                        <locale>en_US</locale>
                    </localesCompiled>
                    <includeStylesheets>
                        <stylesheet>
                            <name>style.css</name>
                            <path>assets/css</path>
                        </stylesheet>
                    </includeStylesheets>
                    <localesSourcePath>locale/{locale}</localesSourcePath>
                    <compilerSourcePath>
                        <path>src/main/flex</path>
                    </compilerSourcePath>
                    <rslUrls>
                        <rsl>{artifactId}_{version}.{extension}</rsl>
                    </rslUrls>
                    <targetPlayer>${flash.version}</targetPlayer>
                    <fonts>
                        <advancedAntiAliasing>true</advancedAntiAliasing>
                        <maxCachedFonts>20</maxCachedFonts>
                        <maxGlyphsPerFace>1000</maxGlyphsPerFace>
                        <managers>
                            <manager>flash.fonts.JREFontManager</manager>
                            <manager>flash.fonts.AFEFontManager</manager>
                            <manager>flash.fonts.BatikFontManager</manager> 
                            <manager>flash.fonts.CFFFontManager</manager>                           
                        </managers>
                    </fonts>
                    <modules>
                        <module>
                            <sourceFile>context.mxml</sourceFile>
                            <finalName>context</finalName>
                            <destinationPath>/</destinationPath>
                        </module>
                    </modules>
                </configuration>
                <executions> 
                    <execution> 
                        <goals> 
                            <goal>wrapper</goal> 
                        </goals> 
                        <configuration>
                            <templateURI>folder:html-template</templateURI>
                            <parameters> 
                                <swf>${project.build.finalName}</swf> 
                                <width>100%</width> 
                                <height>100%</height> 
                            </parameters>
                        </configuration> 
                    </execution> 
                </executions> 
                <dependencies>
                    <dependency>
                        <groupId>org.sonatype.flexmojos</groupId>
                        <artifactId>flexmojos-threadlocaltoolkit-wrapper</artifactId>
                        <version>${flexmojos.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>com.adobe.flex</groupId>
                        <artifactId>compiler</artifactId>
                        <version>${flex.version}</version>
                        <type>pom</type>
                    </dependency>
                    <dependency>
                        <groupId>com.adobe.flex.compiler</groupId>
                        <artifactId>flex-fontkit</artifactId>
                        <version>${flex.version}</version>
                        <type>jar</type>
                    </dependency>
                    <dependency>
                        <groupId>com.adobe.flex.compiler</groupId>
                        <artifactId>afe</artifactId>
                        <version>${flex.version}</version>
                        <type>jar</type>
                    </dependency>
                    <dependency>
                        <groupId>com.adobe.flex.compiler</groupId>
                        <artifactId>aglj40</artifactId>
                        <version>${flex.version}</version>
                        <type>jar</type>
                    </dependency>
                    <dependency>
                        <groupId>com.adobe.cairngorm</groupId>
                        <artifactId>cairngorm3</artifactId>
                        <version>3.0.21</version>
                        <type>pom</type>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.3.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.5</version>
            </plugin>
        </plugins>
    </build>

2 个答案:

答案 0 :(得分:0)

我通过使用maven 3.1.1版本构建项目来修复此问题。

但是我仍然想用3.3.9版本构建它,我不知道我需要哪个版本的flex编译器。

答案 1 :(得分:0)

您应该将IDE指向使用外部安装的(在操作系统上)maven版本,而不是使用其捆绑的maven。