2010-12-13 49 views
5

有什麼辦法可以編譯不包含任何* .mxml的maven/flex項目嗎? flex項目僅包含ActionScript類(即「src/flex」目錄僅包含* .as文件)。我的pom.xml的是在這裏:如何編譯沒有* .mxml文件的maven/flex項目?

<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」 拋出這個錯誤:

[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的接口類的SWC)。

所以我不得不做兩件事情來得到這個工作:

1)參考我的源目錄(編譯標籤下):

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

2)遵循我發現on this mail groupthe 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我需要的,我希望它可以幫助別人,太!

相關問題