1

Adobe Flex 4.6 および FlexMojos 4 で作業していたアプリケーションを Apache Flex 4.14 および FlexMojos 7 に移行しています。「mvn build」を実行しようとすると、次のエラーが発生します。

[ERROR]     Unresolveable build extension: Plugin net.flexmojos.oss:flexmojos-maven-plugin:7.0.1 or one of its dependencies could not be resolved:
The following artifacts could not be resolved:
org.apache.flex.compiler:mxmlc:jar:4.12.1.20140427, 
org.apache.flex.compiler:digest:jar:4.12.1.20140427, 
org.apache.flex.compiler:optimizer:jar:4.12.1.20140427, 
org.apache.flex.compiler:asdoc:jar:4.12.1.20140427, 
org.apache.flex.compiler:swcdepends:jar:4.12.1.20140427, 
org.apache.flex:compiler:pom:4.12.1.20140427: Failure to find 
org.apache.flex.compiler:mxmlc:jar:4.12.1.20140427 in 
http://repository.sonatype.org/content/groups/flexgroup/ was cached in the local repository, resolution will not be reattempted until the update interval of flex-mojos-repository has elapsed or updates are forced -> [Help 2]
[ERROR]     Unknown packaging: swf @ line 5, column 13

これは私の pom.xml です:

<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.cognifit.cognifitSocialFlex</groupId>
    <artifactId>FlexCognifit</artifactId>
    <packaging>swf</packaging>
    <name>cognifitSocialFlex</name>
    <version>11.0.2.10</version>

    <properties>
        <flex.version>4.14.1.20150325</flex.version>
        <flashplayer.version>11.1</flashplayer.version>
    </properties>

    <build>
        <sourceDirectory>src</sourceDirectory>
        <directory>${project.basedir}/target/${project.version}</directory>
        <plugins>
            <plugin>
                <groupId>net.flexmojos.oss</groupId>
                <artifactId>flexmojos-maven-plugin</artifactId>
                <version>7.0.1</version>
                <extensions>true</extensions>
                <configuration>
                    <sourceFile>CpcSocialFlex.mxml</sourceFile>
                    <swfVersion>13</swfVersion>
                    <targetPlayer>11.1.0</targetPlayer>

                    <localesCompiled>
                        <locale>ar_MA</locale>
                        <locale>de_AT</locale>
                        <locale>de_CH</locale>
                        <locale>de_DE</locale>
                        <locale>el_GR</locale>
                        <locale>en_US</locale>
                        <locale>en_ZA</locale>
                        <locale>es_ES</locale>
                        <locale>es_MX</locale>
                        <locale>fr_FR</locale>
                        <locale>he_IL</locale>
                        <locale>it_IT</locale>
                        <locale>ja_JP</locale>
                        <locale>ko_KR</locale>
                        <locale>nl_NL</locale>
                        <locale>pt_BR</locale>
                        <locale>pt_PT</locale>
                        <locale>ru_RU</locale>
                        <locale>sr_RS</locale>
                        <locale>tr_TR</locale>
                        <locale>zh_CN</locale>
                        <locale>zh_HK</locale>
                    </localesCompiled>

                    <dependencies>
                        <dependency>
                            <groupId>org.apache.flex</groupId>
                            <artifactId>compiler</artifactId>
                            <version>${flex.version}</version>
                            <type>pom</type>
                        </dependency>
                    </dependencies>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.apache.flex</groupId>
            <artifactId>framework</artifactId>
            <version>${flex.version}</version>
            <type>pom</type>
        </dependency>

        <dependency>
            <groupId>com.adobe.flash.framework</groupId>
            <artifactId>playerglobal</artifactId>
            <version>${flashplayer.version}</version>
            <type>swc</type>
        </dependency>

        <dependency>
            <groupId>com.adobe.flex.framework.themes</groupId>
            <artifactId>halo</artifactId>
            <type>swc</type>
            <scope>theme</scope>
            <version>${flex.version}</version>
        </dependency>
    </dependencies>
</project>

Maven 3.2.5 と Java 1.6.0_14 を使用しています。

Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T12:29:23-05:00)
Maven home: /usr/local/maven
Java version: 1.6.0_14, vendor: Sun Microsystems Inc.
Java home: /usr/java/jdk1.6.0_14/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "2.6.21.7-2.fc8xen", arch: "i386", family: "unix"

これらは私が従った手順です:

インストーラーを使用して Apache Flex SDK をダウンロードしました。

  • アパッチ フレックス SDK 4.14.1
  • 空気 18.0
  • フラッシュプレーヤー 18

ここに画像の説明を入力

Mavenizer を使用して、この SDK の Maven バージョンを作成しました。

ここに画像の説明を入力

次に、Maven 化されたバージョンを /root/.m2/repository/ フォルダーにデプロイし、pom.xml で mvn compile を実行しました。

4

1 に答える 1

0

ところで、mavenizer はかなり進化しています...「.mvn/extensions.xml」ファイルで maven 拡張機能を使用しています。これにより、参照する Flex/Flash/Air リソースが自動的にダウンロード、変換、およびインストールされます。Flex/Flash/Air の次のバージョンにアップグレードするには、新しいバージョンを参照するだけで、残りはプラグインが処理します (そのバージョンが実際に存在する限り)。詳細については、こちらを参照してください: https://cwiki.apache.org/confluence/display/FLEX/Preparing+FDKs+for+Maven+builds (次の章に特に注意してください: flex-sdk-converter を使用して FDK リソースを準備する-maven-拡張機能)

于 2016-01-05T09:18:01.613 に答える