0

IntelliJ IDEA を使用して既存のフレックス プロジェクトを Maven プロジェクトに変換しているときに、数日間興味深い問題に直面しています。

問題の説明:
モジュールの依存関係を Flex SDK 3.2.0 として使用すると、mxml ファイルに「mx:Application」タグが正しく表示され、エラーは表示されません。ただし、Flexmojos SDK 4.5/4.6 を選択するとすぐに、「mx:Application」要素に「要素 mx:Application を宣言する必要があります」というエラー メッセージが表示され始めます。また、コンパイル時に、「mx:Application をコンポーネント実装に解決できませんでした」というエラーが発生します。IntelliJ IDEA のスクリーンショットでこの画像を参照してください。

分析:
StackOverflow や他のアドビ フォーラムでも同様の投稿を見たことがありますが、解決策はどれも役に立ちません。Flex 4 には後方互換性があることを Adob​​e サイトで確認したので、Flex 4 で廃止されたとしても、理想的には mx:Application タグが機能するはずです。

現在の状況:
この通常の Flex プロジェクトを Maven プロジェクトに変換する必要があるため、Flexmojos-maven-plugin のみを使用する必要があり、関連する最新の SDK 4.5/4.6 も使用する必要があります。さらに、Flex 3 コード全体を Flex 4 に移行するつもりはありません。これは作業が多すぎるためです。現在の目的は、この flex プロジェクトを maven で適切にビルドすることだけです。

これを解決する方法について私に教えてくれるアイデアはありますか?

4

1 に答える 1

0

最後に、次の依存関係への参照を追加して問題に対処しました。

<dependency>
  <groupId>com.adobe.flex.framework</groupId>
  <artifactId>mx</artifactId>
  <version>4.5.0.19786</version>
  <type>pom</type>
</dependency>

上記は社内のNexusにありますが、オンラインのmvnrepositoryのWebサイトでは見つけられませんでした。

また、flex プロジェクトをコンパイルするには、古いバージョンの flexmojos-maven-plugin を使用する必要がありました。参照用に完全に機能する pom.xml を次に示します。

<?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>

    <groupId>com.test</groupId>
    <artifactId>TA_UI_Test2</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>swf</packaging>
    <name>TA_UI_Test2 Flex</name>

    <dependencies>
        <dependency>
            <groupId>com.adobe.flex.framework</groupId>
            <artifactId>playerglobal</artifactId>
            <version>10-3.3.0.4852</version>
            <type>swc</type>
        </dependency>
        <dependency>
            <groupId>com.adobe.flex.framework</groupId>
            <artifactId>rpc</artifactId>
            <version>4.5.1.21328</version>
            <type>swc</type>
        </dependency>
        <dependency>
            <groupId>com.adobe.flex.framework</groupId>
            <artifactId>framework</artifactId>
            <version>3.2.0.3958</version>
            <type>swc</type>
        </dependency>
        <dependency>
            <groupId>com.adobe.flex.framework</groupId>
            <artifactId>mx</artifactId>
            <version>4.5.0.19786</version>
            <type>pom</type>
        </dependency>
    </dependencies>

    <build>
        <sourceDirectory>src</sourceDirectory>

        <plugins>
            <plugin>
                <groupId>org.sonatype.flexmojos</groupId>
                <artifactId>flexmojos-maven-plugin</artifactId>
                <version>3.8</version>
                <extensions>true</extensions>
                <configuration>
                    <sourceFile>Main.mxml</sourceFile>
                    <debug>true</debug>
                    <storepass/>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>com.adobe.flex</groupId>
                        <artifactId>compiler</artifactId>
                        <version>3.2.0.3958</version>
                        <type>pom</type>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>

    </build>

</project>
于 2018-02-07T09:27:21.573 に答える