2010-12-13 5 views
5

Existe-t-il un moyen de compiler un projet maven/flex qui ne contient pas de * .mxml? Le projet Flex contient uniquement des classes ActionScript (le répertoire "src/flex" contient uniquement les fichiers * .as). Mon pom.xml est ici:Comment compiler un projet maven/flex sans fichier * .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> 

"mvn package -e" jette cette erreur:

[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! 

Répondre

2

Essayez d'ajouter ceci à l'intérieur < plug-in >, où "Main.as" est votre classe:

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

Dans mon cas, je n'avais pas des fichiers source principale (il était une SWC complète de classes d'interface comme ISessionProxy.as).

donc je devais faire deux choses pour obtenir ce travail:

1) référence mon répertoire source (sous la balise de construction):

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

2) suivre les conseils que j'ai trouvé on this mail group et the FlexMojos Google Group :

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

Alors, je supprimé toutes mes dépendances et les réintégrations, un par un jusqu'à ce que je l'ai eu à compiler. Tout ce que je avais besoin était:

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

J'ai même supprimé toutes les dépendances pour le plug-in FlexMojos:

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

Cela a fonctionné pour moi, la production de la SWC j'ai besoin et j'espère que cela aide quelqu'un d'autre, aussi!

Questions connexes