Проблема компиляции Maven и flex - PullRequest
0 голосов
/ 21 октября 2010

Я попытался скомпилировать, используя maven-flex2-plugin плагин с Maven, вот ошибка, которую я получил:

D:\PROJECTS\flex\Reports>mvn clean install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Reports Maven Flex
[INFO]    task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory D:\PROJEKTI\flex\Reports\target
[INFO] [flex2:compile-swf {execution: default-compile-swf}]
[INFO] Attaching licenses.
[INFO] Adding Extra Parameters: []
[INFO] Failed to invoke null with parameters: [+flexlib=C:\Program Files\Adobe\A
dobe Flash Builder 4\sdks\4.1.0\frameworks, -load-config, C:\Program Files\Adobe
\Adobe Flash Builder 4\sdks\4.1.0\frameworks\flex-config.xml, -source-path, D:\P
ROJEKTI\flex\Reports\src\main\flex, -output, D:\PROJEKTI\flex\Reports\target\Rep
orts-0.0.1-SNAPSHOT.swf, -compiler.locale, en_US, -use-network, -compiler.debug=
false, --, Main.mxml]
[INFO] java.lang.ClassNotFoundException: flex2.tools.Compiler
[INFO]  at java.net.URLClassLoader$1.run(Unknown Source)
[INFO]  at java.security.AccessController.doPrivileged(Native Method)
[INFO]  at java.net.URLClassLoader.findClass(Unknown Source)
[INFO]  at java.lang.ClassLoader.loadClass(Unknown Source)
[INFO]  at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
[INFO]  at java.lang.ClassLoader.loadClass(Unknown Source)
[INFO]  at net.israfil.mojo.flex2.StreamedParameterExecutableWrapper.main(Stream
edParameterExecutableWrapper.java:58)
[INFO] Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNot
FoundException: flex2.tools.Compiler
[INFO]  at net.israfil.mojo.flex2.StreamedParameterExecutableWrapper.main(Stream
edParameterExecutableWrapper.java:66)
[INFO] Caused by: java.lang.ClassNotFoundException: flex2.tools.Compiler
[INFO]  at java.net.URLClassLoader$1.run(Unknown Source)
[INFO]  at java.security.AccessController.doPrivileged(Native Method)
[INFO]  at java.net.URLClassLoader.findClass(Unknown Source)
[INFO]  at java.lang.ClassLoader.loadClass(Unknown Source)
[INFO]  at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
[INFO]  at java.lang.ClassLoader.loadClass(Unknown Source)
[INFO]  at net.israfil.mojo.flex2.StreamedParameterExecutableWrapper.main(Stream
edParameterExecutableWrapper.java:58)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Result of flex2.tools.Compiler execution is: '1'.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 seconds
[INFO] Finished at: Wed Oct 20 21:57:20 CEST 2010
[INFO] Final Memory: 8M/19M
[INFO] ------------------------------------------------------------------------

Вот мой пом:

<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.flex</groupId>
  <artifactId>Reports</artifactId>
  <packaging>swf</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>Reports Maven Flex</name>
  <url>http://maven.apache.org</url>

  <properties>
    <flex.home>C:\Program Files\Adobe\Adobe Flash Builder 4\sdks\4.1.0</flex.home>
  </properties>
  <build>
    <sourceDirectory>src/main/flex</sourceDirectory>
    <plugins>
      <plugin>
        <groupId>net.israfil.mojo</groupId>
        <artifactId>maven-flex2-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <flexHome>${flex.home}</flexHome>
          <useNetwork>true</useNetwork>
          <main>Main.mxml</main>
        </configuration>
      </plugin>
    </plugins>
    <defaultGoal>install</defaultGoal>
  </build>
</project>

Кто-нибудь сталкивался с этой проблемой? есть ли решение? Есть ли способ лучше? Я хочу запустить свое гибкое приложение на сервере как war

Ответы [ 2 ]

1 голос
/ 01 марта 2011

Я не скажу вам, как решить вашу проблему, но я расскажу вам о своем опыте разработки приложения Flex. (Мы разрабатываем огромные приложения Flex для банков.)

В самом начале мы также пытались принять maven для всего (maven действительно отличный инструмент). Мы пробовали flex-mojos и другие плагины, но у каждого из них были проблемы, которые мы не могли преодолеть.

Итак, теперь наша лучшая практика такова: Мы используем maven для следующих задач: извлечение зависимостей, установка артефактов в локальное хранилище и развертывание в удаленном хранилище, но для всех других задач я использую ant. Наши скрипты работают на Mac и Windows. Они потребляют намного меньше памяти, чем, например, flex-mojos (это важно, когда вы хотите скомпилировать много модулей). Они полностью поддерживают CI-серверы, и пока это кажется наилучшим решением.

Итак, чтобы сэкономить ваше время - попробуйте использовать ant вместо maven для компиляции и тестирования. (Flex SDK поставляется с Ant-задачами, которые вы можете использовать).

Всего наилучшего с Flex, Maven и Ant!

0 голосов
/ 01 марта 2011

Просто очень быстрый взгляд на страницу проекта maven-flex2, кажется, что этот плагин предназначен только для создания проектов Flex2 (проект был последний раз обновлен в 2008 году) .. Это может быть вашей проблемой, так как вы ссылка на Flex4 SDK.

Я согласен с предложением Флориана о: FlexMojos. Требуется немного усилий, чтобы запустить его, но когда он работает, он работает отлично. Мы уже давно используем его для создания всех наших проектов Flex / AIR.

...