Flex 4 App Бланк - PullRequest
       57

Flex 4 App Бланк

3 голосов
/ 21 июня 2011

Я создаю приложение Flex 4 (используя flexmojos, а не FlexBuilder). Если я создаю тестовые приложения следующим образом, используя mx: Application, я вижу кнопку, как и ожидалось:

<mx:Application
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="http://www.adobe.com/2006/mxml">

    <s:Button
        label="Button"/>

</mx:Application>

Однако, если я использую s: Приложение, то все, что я вижу, это пустой (белый) экран:

<s:Application
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="http://www.adobe.com/2006/mxml">

    <s:Button
        label="Button"/>

</s:Application>

Между прочим, в настоящее время я не использую HTML-оболочку, я просто загружаю SWF-файл прямо в браузере.

Вот мой пом ...

<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.aaa.bbb</groupId>
    <artifactId>app</artifactId>
    <packaging>war</packaging>
    <version>2.0-SNAPSHOT-1</version>
    <name>app</name>
    <url>http://maven.apache.org</url>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <sourceDirectory>src/main/flex</sourceDirectory>
        <testSourceDirectory>src/test/flex</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.sonatype.flexmojos</groupId>
                <artifactId>flexmojos-maven-plugin</artifactId>
                <version>3.9</version>
                <dependencies>
                    <dependency>
                        <groupId>com.adobe.flex</groupId>
                        <artifactId>compiler</artifactId>
                        <version>4.5.0.20967</version>
                        <type>pom</type>
                    </dependency>
                </dependencies>
                <extensions>true</extensions>
                <configuration>
                    <policyFileUrls>
                        <url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</url>
                    </policyFileUrls>
                    <rslUrls>
                        <url>http://fpdownload.adobe.com/pub/{extension}/flex/4.5.0.20967/{artifactId}_{version}.{extension}</url>
                    </rslUrls>
                </configuration>
                <executions>
                    <execution>
                        <id>flex-compile</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile-swf</goal>
                        </goals>
                        <configuration>
                            <output>src/main/webapp/Main.swf</output>
                        </configuration>                        
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
          <groupId>com.adobe.flex.framework</groupId>
          <artifactId>textLayout</artifactId>
          <version>4.5.0.20967</version>
          <type>swc</type>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>com.adobe.flex.framework</groupId>
          <artifactId>framework</artifactId>
          <version>4.5.0.20967</version>
          <type>swc</type>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>com.adobe.flex.framework</groupId>
          <artifactId>spark</artifactId>
          <version>4.5.0.20967</version>
          <type>swc</type>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>com.adobe.flex.framework</groupId>
          <artifactId>sparkskins</artifactId>
          <version>4.5.0.20967</version>
          <type>swc</type>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>com.adobe.flex.framework</groupId>
          <artifactId>rpc</artifactId>
          <version>4.5.0.20967</version>
          <type>swc</type>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>com.adobe.flex.framework</groupId>
          <artifactId>datavisualization</artifactId>
          <version>4.5.0.17855</version>
          <type>swc</type>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>com.adobe.flex.framework</groupId>
          <artifactId>flex-framework</artifactId>
          <version>4.5.0.20967</version>
          <type>pom</type>
        </dependency>
    </dependencies>

</project>

Кто-нибудь знает, что я делаю не так? Спасибо

UPDATE:

Теперь все RLS как файлы .swz хранятся в том же месте, что и файл .swf, и URL-адреса RSL установлены следующим образом:

                            <configuration>
                    <policyFileUrls>
                        <url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</url>
                    </policyFileUrls>
                    <rslUrls>
                        <url>{artifactId}_${flex.sdk.version}.{extension}</url>
                    <url>http://fpdownload.adobe.com/pub/{extension}/flex/${flex.sdk.version}/{artifactId}_${flex.sdk.version}.{extension}</url>
                    </rslUrls>
                </configuration>

Тем не менее, приложение просто пустое. При использовании FireBug, по-видимому, нет никаких запросов на какие-либо RSL, которые я вижу, и нет сообщений об ошибках, относящихся к этому. Кажется, что загрузка RSL даже не предпринималась.

Это странно!

Ответы [ 7 ]

5 голосов
/ 18 июля 2011

Если вы используете моджос <4, добавьте это в вашу конфигурацию вашего flexmojos-maven-plugin </p>

<configuration>
    <configurationReport>true</configurationReport>
    <sourceFile>Main.mxml</sourceFile>
    <configFiles><!-- Fix for Mojos's < 4 -->
        <configFile>flex-config-swf-version-11.xml</configFile> 
    </configFiles> 
...

и затем создайте этот файл

<?xml version="1.0"?> 
<flex-config> 
        <swf-version>11</swf-version> 
</flex-config> 

от: http://groups.google.com/group/flex-mojos/browse_thread/thread/143f69219fcddc16#

если вы используете 4+, вы можете добавить это в свою конфигурацию

<configuration>
    <configurationReport>true</configurationReport>
    <sourceFile>Main.mxml</sourceFile>
    <swfVersion>11</swfVersion>
...

от: http://groups.google.com/group/flex-mojos/browse_thread/thread/9ff3ea2e0e0461a4

1 голос
/ 14 декабря 2011

Я столкнулся с той же проблемой с Flex Mojos 4.0 и Flex 4.5.Проблема была решена, когда я обновился до Flex Mojos 4.1-BETA.

1 голос
/ 09 августа 2011

У меня та же проблема случайно при сборке с IntelliJ с использованием ANT. Изменение целевой версии флэш-плеера на 10.2 вместо 10.3 решило проблему.

0 голосов
/ 23 августа 2011
  1. Во-первых, для того, чтобы он использовался как rsl, вам необходимо указать область видимости как кэширование. <scope>caching</scope>. предупреждения, которые вы получаете, в порядке, и это проблема flex-mojos и maven, и я помню, что видел их в посте в flex-mojos-group . Пожалуйста, найдите себя:)

  2. проверить версию текстового макета, потому что она всегда идет с другим номером, чем другие рамки rsls. Т.е. для разметки текста у вас должна быть отдельная запись. см. это

                <rslUrls>
                    <url>{artifactId}_${flex.sdk.version}.{extension}</url>
                   <url>{artifactId}_${flex.textlayout.version}.{extension}</url><url>http://fpdownload.adobe.com/pub/{extension}/flex/${flex.sdk.version}/{artifactId}_${flex.sdk.version}.{extension}</url>
    
  3. Количество записей в rslurls должно соответствовать количеству записей в теге policyurls. См. здесь . таким образом, policyFileUrls массив URL-адресов файла политики. Каждая запись в массиве rslUrls должна иметь соответствующую запись в этом массиве

  4. Используйте расширение firefox firefox и посмотрите на сетевую консоль, чтобы увидеть, загружает ли она rsls. Вы также можете использовать плагин net-export , чтобы сохранить логи netconsole и вставить его.

измените код для выполнения вышеуказанных проверок и сообщите результаты.

0 голосов
/ 08 июля 2011

Это не совсем ответ, но дополнительная информация по устранению неполадок, которая может помочь найти фактический ответ.У меня тот же результат при создании SWF с make в IntellijIdea 10. Я использую 4.5 SDK.

Кто-то предположил, что мне нужен Flash Player 11, который находится в инкубаторе с Adobe.Я получаю те же результаты во Flash Player 11 (белый экран при использовании spark, отлично при использовании mx).

Я использую FlexMojos в других проектах, но для этого я просто провожу несколько проверок концепцииFlex 4.5 и не хотел вводить другую переменную в уравнение сборки, пока я не стабилизировал ситуацию.

Надеюсь, эта дополнительная информация поможет вам разобраться в сути проблемы.

0 голосов
/ 21 июня 2011

Попробуйте установить ширину 100 и высоту 25 в обоих случаях.

0 голосов
/ 21 июня 2011

Полагаю, проблема в RSL, которые должны быть загружены по умолчанию, но вы не нашли их должным образом.Попробуйте перечислить все необходимые RSL и измените их область действия на merged.Я думаю, что это и это ссылки будут полезны.

...