2010-05-17 1 views
0

Я использую: - Flex SDK 3.5.0 - Петрушка 2.2.2. - Flash Builder 4Включая файлы конфигурации при компиляции приложения Flex с MXMLC

вниз в моей папке Src (который выполнен в виде части исходного пути в Flash Builder), у меня есть logging.xml, который я настроить с помощью Петрушка:

  FlexLoggingXmlSupport.initialize(); 
     XmlContextBuilder.build("com/company/product/util/log/logging.xml"); 

Когда Я запускаю приложение через Flash Builder, XmlContentBuilder, похоже, находит файл logging.xml (реализация является обычным URLLoader).

Когда я компилирую мое приложение с помощью MXMLC (будь то в Ant или командной строки), а затем запустить швейцарских франков, я получаю следующее сообщение об ошибке:

Причина (0): Ошибка при загрузке COM/компании/продукта/util/log/logging.xml: Ошибка в URLLoader - причина: Ошибка # 2032: Ошибка потока. URL: file: /// C | /workspace/folder01/product/target/com/company/product/util/log/logging.xml - причина: Ошибка # 2032: Ошибка потока. URL: Файл: /// C | /workspace/folder01/product/target/com/company/product/util/log/logging.xml

Вот тег MXMLC в Ant:

 <mxmlc file="${product.src.dir}/com/company/product/view/Main.mxml" output="${product.target.dir}/${product.release.filename}" keep-generated-actionscript="false"> 
     <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml" /> 

     <!-- source paths --> 
     <source-path path-element="${FLEX_HOME}/frameworks" /> 
     <compiler.source-path path-element="${product.src.dir}" /> 
     <compiler.source-path path-element="${product.locale.dir}/{locale}" /> 

     <compiler.library-path dir="${product.basedir}" append="true"> 
      <include name="libs" /> 
     </compiler.library-path> 

     <warnings>false</warnings> 
     <debug>false</debug> 
    </mxmlc> 

а вот командная строка:

\mxmlc.exe -output "C:\temp\Rap.swf" -load-config "C:\Program Files\Adobe\Adobe Flash Builder 4 Plug-in\sdks\3.5.0\frameworks\flex-config.xml" -source-path "C:\Program Files\Adobe\Adobe Flash Builder 4 Plug-in\sdks\3.5.0\frameworks" C:\workspace\folder01\product\src C:\workspace\folder01\product\locale\en_US -library-path+=C:\workspace\folder01\product\libs -file-specs C:\workspace\folder01\product\src\com\company\product\view\main.mxml 

Теперь, возможно, я не получаю это правильно, но, насколько я понимаю, SWF должен быть скомпилирован со всеми ресурсами в пути Дает MXMLC в качестве исходных-путей , По какой-то причине кажется, что XML-файл не скомпилирован в SWF, поэтому относительный путь XmlContentBuilder не найден успешно.

Я не мог найти аргументов, чтобы предоставить MXMLC, который может решить эту проблему.

Я попытался использовать параметр -dump-config с компилятором Flash Builder, а затем предоставил эту конфигурацию MXMLC, но он тоже не работал.

Я попытался предоставить XmlContentBuilder абсолютный путь. Это сработало, когда я скомпилировал MXMLC через Ant, но все равно не работал, когда использовал MXMLC в командной строке ...

Я был бы рад быть здесь просветленным, касаясь всех предметов - используя MXMLC, доступа к ресурсам с относительными путями, настройка протоколирования в петрушка и т.д.

Большое спасибо заранее, Daniel

ответ

0

Ну, только теперь я CCME, чтобы понять, что происходит:

в URLLoader внутри XmlContextBuilder попытался получить доступ к файлу локально (файл: //).

Flash строитель скопировал файл из своего исходного местоположения (папка src) в целевое местоположение (папка «bin-debug»), а затем он был найден URLLoader.

Когда я скомпилировал SWF, я не копировал файл в свое целевое местоположение («целевая» папка, как видно из сообщения об ошибке). Вот почему он не был найден ...

Теперь, я думаю, мне нужно лучше понять, как правильно обращаться к XML-файлу ...