-1

こんにちは、私は flex プロジェクトをセットアップしていました。基本的には 3 つのモジュール、flex、java、および war プロジェクトです。すべてをコンパイルできますが、flexmojos:copy-flex-resources プラグインは「.swf」ファイルを webapp ディレクトリにコピーするだけです。スキップされるhtmlラッパーのような他のファイルがあります。誰かに整理してもらいました。ありがとう!

私の SWF POM

swf アプリケーション

<properties>
    <path_to_services_config_xml>${basedir}/src/main/resources/services-config.xml</path_to_services_config_xml>
</properties>

<build>
    <sourceDirectory>src/main/flex</sourceDirectory>
    <testSourceDirectory>src/test/flex</testSourceDirectory>
    <directory>target</directory>
    <plugins>
        <plugin>
            <groupId>org.sonatype.flexmojos</groupId>
            <artifactId>flexmojos-maven-plugin</artifactId>
            <!-- <version>3.8</version> -->
            <executions>
                <execution>
                    <id>html-wrapper</id>
                    <goals>
                        <goal>wrapper</goal>
                    </goals>
                    <configuration>
                        <templateURI>folder:/html-template</templateURI>
                        <parameters>
                            <swf>${project.build.finalName}</swf>
                            <width>100%</width>
                            <height>100%</height>
                            <version_major>${flash.major}</version_major>
                            <version_minor>${flash.minor}</version_minor>
                            <version_revision>${flash.revision}</version_revision>
                            <bgcolor>#FFFFFF</bgcolor>
                        </parameters>
                        <htmlName>Main</htmlName>
                        <!-- <targetPlayer>${flash.major}.${flash.minor}.${flash.revision}</targetPlayer> -->
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>com.adobe.flex.compiler</groupId>
                    <artifactId>flex-compiler-oem</artifactId>
                    <version>4.5.1.21328</version>
                </dependency>
            </dependencies>
            <extensions>true</extensions>
            <configuration>
                <debug>true</debug>
                <!-- <output>target/bin/</output> <sourcePaths> <path>src/main</path> 
                    </sourcePaths> Configuration to copy assets (Images) folder to target -->
                <includeFileSets>
                    <fileset>
                        <directory>src/main/assets</directory>
                        <includes>
                            <include>*.*</include>
                        </includes>
                    </fileset>
                </includeFileSets>

                <!-- service-config.xml specification (path defined above) -->
                <services>${path_to_services_config_xml}</services>

                <!-- Context Root URL -->
                <contextRoot>clv-web-0.3</contextRoot>
                <localesCompiled>
                    <locale>en_US</locale>
                    <locale>fr_FR</locale>
                </localesCompiled>
                <localesSourcePath>${basedir}/src/main/locale/{locale}</localesSourcePath>
                <!-- <localesSourcePath>${basedir}/src/main/locale/fr_FR</localesSourcePath> -->
                <!-- <templateURI>${basedir}/html-template/</templateURI> <outputDir>target/flex-html</outputDir> 
                    <htmlName>myindex.html</htmlName> <parameters> <swf>${build.finalName}</swf> 
                    </parameters> -->
            </configuration>
            <!-- <executions> <execution> <goals> <goal>wrapper</goal> </goals> </execution> 
                </executions> -->
        </plugin>
    </plugins>
</build>

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

    <dependency>
        <groupId>com.adobe.flexunit</groupId>
        <artifactId>flexunit</artifactId>
        <version>0.85</version>
        <type>swc</type>
        <scope>test</scope>
    </dependency>

そして私の戦争POMは

<packaging>war</packaging>
<build>
    <plugins>
        <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>com.cat.clv.swf</groupId> 
                    <artifactId>clv-swf</artifactId> <version>0.3</version> </wrapperArtifact> 
                    <htmlName>Main</htmlName> </configuration> </execution> -->
                <execution>
                    <goals>
                        <goal>copy-flex-resources</goal>
                    </goals>
                    <configuration>
                    <webappDirectory>>${basedir}/src/main/webapp/demo</webappDirectory>
                        <stripVersion>true</stripVersion>
                    </configuration>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <webResources>
                    <resource>
                        <!-- this is relative to the pom.xml directory -->
                        <directory>src/main/webapp</directory>
                    </resource>
                </webResources>
                <debug>true</debug>
                <!-- <warSourceExcludes>index.template.html</warSourceExcludes> <webResources> 
                    <resource> <directory>target</directory> </resource> </webResources> -->
            </configuration>
        </plugin>
4

2 に答える 2

1

私はflexmojosの開発を正式に引き継いだ男です。

あなたが遭遇している問題は、3.x を開始する flexmojos のいくつかの変更に関連している可能性があります (バージョンは覚えていません)。私はあなたと同じ問題を抱えていました。理由を探していると、場合によっては maven がエラーをスローするため、flexmojos がプロジェクト pom から finalName を特定するのに問題があることがわかりました。自分で finalName を指定していたので、copy-flex-resources 構成で false を設定して問題を解決しました。最終的にこれが役立ちます。

別のプロジェクトで使用しなければならなかった別の解決策は、war プロジェクトで copy-flex-resources mojo の別のバージョンを明示的に使用することでした。3.7.1 がこの問題のない最後のバージョンのようです。

残念ながら、私はまだこのエラーを解決できていませんが、まだ私のレーダーにあります.

クリス

于 2012-07-30T09:22:29.720 に答える
1

I had a very similar configuration issue with flexmojos-maven-plugin version 3.8 which I fixed by adding by warSourceDirectoryPath to the outputDirectory of the wrapper goal config in the swf project:

I defined a property: warSourceDirectoryPath = ../workbench-server/src/main/webapp/flex

  <plugin>
    <groupId>org.sonatype.flexmojos</groupId>
    <artifactId>flexmojos-maven-plugin</artifactId>
    <version>3.8</version>
    <executions>
        <execution>
            <id>flex-ui-wrapper</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>wrapper</goal>
            </goals>
            <configuration>
                <templateURI>folder:/html-template</templateURI>
                   <templateOutputDirectory>${project.build.directory}/templates</templateOutputDirectory>
                <outputDirectory>${warSourceDirectoryPath}</outputDirectory>
                <parameters>
                    <swf>${project.build.finalName}</swf>
                    <title>Workbench</title>
                    <application>myapp</application>
                </parameters>           
                <htmlName>Workbench</htmlName>
            </configuration>
        </execution>
    </executions>       
    <dependencies> 
       ...      
    </dependencies>
    <extensions>true</extensions>    
    <configuration>
      <debug>true</debug>
      <sourceFile>${basedir}/src/main/flex/Workbench.mxml</sourceFile>
      <contextRoot>/workbench-server</contextRoot>          
      <generateHtmlWrapper>true</generateHtmlWrapper>
      <targetPlayer>11.1.0</targetPlayer> 
      <!-- <services>generated-resources</services> this is the default -->
    </configuration>
  </plugin>

Hope that helps.

于 2013-01-12T03:51:01.020 に答える