如何使用Flexmojos和Maven 3在WAR中生成Flash HTML包装器?

时间:2012-05-28 11:25:31

标签: maven maven-3 flexmojos maven-war-plugin

我有两个Maven项目:一个用于构建SWF,另一个用于构建包含它的WAR。 WAR需要包含SWF的Flash包装器。 Flexmojos显然能够通过HTML wrapper mojo执行此操作,但这不适用于Maven 3.有关详细信息,请参阅here

有解决方法吗?

我的SWF POM有以下内容:

<plugin>
    <groupId>org.sonatype.flexmojos</groupId>
    <artifactId>flexmojos-maven-plugin</artifactId>
    <version>4.1-beta</version>
    <configuration>
        <parameters>
            <swf>${project.artifactId}-${project.version}</swf>
            <title>My application title</title>
            <width>100%</width>
            <height>100%</height>
            <bgcolor>#ffffff</bgcolor>
        </parameters>
    </configuration>
</plugin>

我的WAR POM有以下内容:

<plugin>
    <groupId>org.sonatype.flexmojos</groupId>
    <artifactId>flexmojos-maven-plugin</artifactId>
    <version>4.1-beta</version>
    <extensions>true</extensions>

    <executions>
        <execution>
            <id>wrapper</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>wrapper</goal>
            </goals>
            <configuration>
                <wrapperArtifact>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>the-swc-project</artifactId>
                    <version>${project.version}</version>
                </wrapperArtifact>
                <htmlName>index</htmlName>
            </configuration>
        </execution>
        <execution>
            <goals>
                <goal>copy-flex-resources</goal>
            </goals>
        </execution>
    </executions>
</plugin>

1 个答案:

答案 0 :(得分:2)

经过进一步调查,我发现这里的问题是Flexmojos试图重新配置WAR插件,但是这样做的方式与Maven 3不兼容。

我发现的相当严峻的解决方法涉及手动配置WAR插件,如下所示:

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <configuration>
        <warSourceExcludes>index.template.html</warSourceExcludes>
        <webResources>
            <resource>
                <directory>target/war/work/wrapped-template</directory>
            </resource>
        </webResources>
   </configuration>
</plugin>