2010-12-13 11 views
5

¿Hay alguna forma de compilar el proyecto maven/flex que no contenga ningún * .mxml? El proyecto flex solo contiene clases de ActionScript (es decir, el directorio "src/flex" solo contiene archivos * .as). Mi pom.xml está aquí:¿Cómo compilar el proyecto maven/flex sin ningún archivo * .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 -e paquete de" tiros este error:

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

Respuesta

2

Trate de añadir este complemento dentro < >, donde "Main.as" es su clase:

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

En mi caso, yo no tenía ningún archivo de fuentes primarias (que era una completa SWC de clases de interfaz como ISessionProxy.as).

así que tuve que hacer dos cosas para conseguir este trabajo:

1) hacer referencia a mi directorio de origen (bajo la etiqueta de acumulación):

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

2) seguir los consejos que encontré on this mail group y the FlexMojos Google Group :

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

por lo tanto, he eliminado todos mis dependencias y les vuelve a añadir, uno por uno hasta que consiguiera que se compile. Todo lo que necesitaba era:

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

incluso he eliminado todas las dependencias para el plugin FlexMojos:

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

Esto funcionó para mí, la producción de la SWC que necesito y espero que ayude a alguien más, también!

Cuestiones relacionadas