2012-11-26 62 views
0

我正在研究包含一些Flash模塊的Java Web應用程序。
到目前爲止,我已經使用Adobe Flash builder編譯Flash源代碼並手動將swf文件集成到war中,並且可以部署並運行web應用程序。
最近,也是源代碼專有的客戶要求使用flex-mojo maven插件管理Flash源模塊。
問題是應用程序編譯並部署時沒有錯誤,但不再有效。當您在登錄階段後從瀏覽器訪問應用程序時,會出現空白屏幕,並且無法與應用程序交互。 用於構建閃存模塊pom.xml如下(我省略不相關部分):使用flex-mojo編譯時,Java/Flash應用程序無法正常工作

<plugins> 
    <plugin> 
    <groupId>org.sonatype.flexmojos</groupId> 
    <artifactId>flexmojos-maven-plugin</artifactId> 
    <version>4.0-RC2</version> 
    <extensions>true</extensions> 

    <configuration> 

     <contextRoot>myapp</contextRoot> 
     <services>../myapp-war/src/main/webapp/WEB-INF/flexCompile/services-config.xml</services> 
     <localesSourcePath>${basedir}/locale/{locale}</localesSourcePath> 

     <debug>true</debug> 
     <output>target/myapp.swf</output> 
     <definesDeclaration> 
      <property> 
      <name>BUILD::buildNumber</name> 
      <value>"Versione: ${project.version}"</value> 
      </property> 
     </definesDeclaration> 
      <localesRuntime> 
      <locale>en_US</locale> 
      </localesRuntime> 
     <localesCompiled> 
      <locale>en_US</locale> 
      </localesCompiled> 
    </configuration> 
    </plugin> 
</plugins> 

注意到,這兩個編譯的SWF文件的大小是不同的這一點很重要,所以這似乎是一個編譯版本問題。 有沒有人使用Flash和Java進行開發,可以給我一些關於解決這個問題的暗示,甚至只是指向資源,論壇等?

+1

由於編譯器設置的不同,應用程序中的大小可能會有所不同。如果您沒有使用RSls,而是在另一箇中使用,那麼不使用RSL的將擁有更大的SWF。如果您不是從Flash Builder導出發佈版本,那麼您將獲得更大的SWF b/c,包含所有'調試信息'。您是否安裝了Flash Player的調試版本?如果沒有,請安裝它。可能有一個運行時錯誤,你沒有看到。 – JeffryHouser

+0

@ www.Flextras.com非常感謝您的幫助,顯然,該項目已成功編譯並使用Flex運行,使用與flex-mojos相同的設置。我會接受你的建議並嘗試調試它。 – remigio

回答

1

您是否嘗試將swfVersion屬性設置爲您的配置?這將是這樣的:

<swfVersion>13</swfVersion> 

該版本是特定於您的目標玩家。你可以找到你需要的版本here

作爲一般的良好做法,不要忘記檢查myapp-config.xml其中包含Flexmojo傳遞給mxmlc的所有選項。該文件位於您的target目錄中。

相關問題