2010-12-13 2 views
5

Есть ли способ скомпилировать проект maven/flex, который не содержит * .mxml? Проект flex содержит только классы ActionScript (т. Е. Каталог «src/flex» содержит только файлы * .as). Мой pom.xml здесь:Как скомпилировать проект maven/flex без файла * .mxml?

<groupId>com.test</groupId> 
<artifactId>test</artifactId> 
<version>1.0-SNAPSHOT</version> 
<name>test</name> 
<packaging>swf</packaging> 
<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.8</version> 
      <extensions>true</extensions> 
      <dependencies> 
       <dependency> 
        <groupId>com.adobe.flex</groupId> 
        <artifactId>compiler</artifactId> 
        <version>4.5.0.18623</version> 
        <type>pom</type> 
       </dependency> 
      </dependencies> 
     </plugin> 
    </plugins> 
</build> 
<dependencies> 
    <dependency> 
     <groupId>com.adobe.flex.framework</groupId> 
     <artifactId>flex-framework</artifactId> 
     <version>4.5.0.18623</version> 
     <type>pom</type> 
    </dependency> 
    <dependency> 
     <groupId>com.adobe.flexunit</groupId> 
     <artifactId>flexunit</artifactId> 
     <version>0.85</version> 
     <type>swc</type> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

"МВН пакет -e" выдает эту ошибку:

[ERROR] Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:3.8:compile-swf (default-compile-swf) on project test: Source file not expecified and no default found! -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:3.8:compile-swf (default-compile-swf) on project q-integra-scorecard-ldservice: Source file not expecified and no default found! 

ответ

2

Попробуйте добавить это внутри < плагин >, где "Main.as" является ваш класс:

<configuration> 
    <sourceFile>Main.as</sourceFile> 
</configuration> 
1

В моем случае, у меня не было каких-либо первичных исходных файлов (это был МЖК полный классов интерфейсов, как ISessionProxy.as).

Так что я должен был сделать две вещи, чтобы получить эту работу:

1) ссылаться на мой исходный каталог (под сборки тега):

<build> 
    <sourceDirectory>src/main/flex</sourceDirectory> 

2) следовать совету я нашел on this mail group и the FlexMojos Google Group :

"...just remove all dependencies on your pom, because those dependencies are already defined on super pom."

Итак, я удалил все мои зависимости и добавил их, один за другим, пока я не получил его для компиляции. Все, что мне было нужно:

<dependency> 
    <groupId>com.adobe.flex.framework</groupId> 
    <artifactId>flex-framework</artifactId> 
    <version>${flex.sdk.version}</version> 
    <type>pom</type> 
</dependency> 

Я даже удалил все зависимости для плагина FlexMojos:

<plugin> 
    <groupId>org.sonatype.flexmojos</groupId> 
    <artifactId>flexmojos-maven-plugin</artifactId> 
    <version>${flexmojos.version}</version> 
    <configuration> 
      <targetPlayer>${flash.player.version}</targetPlayer> 
    </configuration> 
</plugin> 

Это работает для меня, производя SWC мне нужно, и я надеюсь, что это поможет кому-то еще, тоже!

Смежные вопросы