2014-10-02 66 views
0

我有一個mavenized flex項目,這與adobe sdke 4.6建立良好。 現在,我想用apache最近的sdk編譯它。 我maven化sdk並複製本地回購的依賴關係。 我mavenized的apache版本是:4.13.0.20140701。建設maven flex項目與柔性mojo取決於apache sdk失敗

我的聚甲醛是如下:

xmojos.oss:flexmojos-flex-compiler:jar:7.0.1 -> net.flexmojos.oss:flexmojos-generator-internal-compiler-iface:jar:7.0.1 -> org.apache.flex:compiler:pom:4.12.1.20140427: Failed to read artifact descriptor for org.apache.flex:compiler:pom:4.12.1.20140427: Could not transfer artifact org.apache. 

似乎是彎曲的魔力總是使用默認的Apache版本而忽略礦山提供:

<properties> 
     <flexmojos.version>7.0.1</flexmojos.version> 
     <flex.version>4.13.0.20140701</flex.version> 
     <flash.version>11.1</flash.version> 
    </properties> 

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

     <plugins> 
      <plugin> 
       <groupId>net.flexmojos.oss</groupId> 
       <artifactId>flexmojos-maven-plugin</artifactId> 
       <version>${flexmojos.version}</version> 
       <extensions>true</extensions> 

       <configuration> 
        <debug>true</debug> 
        <sourceFile>ComptaFlex.mxml</sourceFile> 
        <services>${basedir}/src/main/flex/services/services-config.xml</services> 
        <compilerWarnings> 
         <warn-no-constructor>false</warn-no-constructor> 
        </compilerWarnings> 
       </configuration> 
       <dependencies> 
        <!-- This handles a bug in maven which causes problems with flex resources --> 
        <dependency> 
         <groupId>net.flexmojos.oss</groupId> 
         <artifactId>flexmojos-threadlocaltoolkit-wrapper</artifactId> 
         <version>${flexmojos.version}</version> 
        </dependency> 
        <!-- Without this FM will use the compiler configured in its master 
         pom, which will result in version conflicts --> 
        <dependency> 
         <groupId>org.apache.flex</groupId> 
         <artifactId>compiler</artifactId> 
         <version>4.13.0.20140701</version> 
         <type>pom</type> 
        </dependency> 
       </dependencies> 
      </plugin> 
      <plugin> 

,因爲我得到了Maven的編譯錯誤。我怎麼能強制flexmojo與我的給定版本。

+0

在下一個版本中,我目前正在研究Flexmojos將不直接依賴任何flex-artifact。爲了支持新的Falcon編譯器,我將「默認版本」的東西全部扔在板上。 – 2014-10-12 17:41:05

+0

我建議你給Flexmojos 7.1.0-SNAPSHOT一個嘗試......這不應該有這種依賴關係了。 – 2014-11-04 09:28:02

+0

你確定這個依賴存在嗎(maven不能在已知的倉庫中自動加載它)! – 2014-11-04 15:10:48

回答

0

髒解決辦法是改變flexmojo父POM文件:用手編輯:

<flex.version>4.13.0.20140701</flex.version> 

直到flexmojo developpers配備了更好的響應。

+1

Ahem ...我是flexmojos開發人員,因爲我已經發布了... Flexmojos 7.1.0-SNAPSHOT不應再對任何flex sdk資源有任何依賴性(但如果您不給它,它將不起作用任何版本)。如果它仍然存在,給我一個筆記,我會重新檢查一下。 – 2014-11-04 21:42:02

+0

好的,謝謝你的回覆。是你在maven repos發佈的最後一個版本嗎? – 2014-11-05 09:01:11

+1

目前發佈在Sonatype Snapshot回購協議中:https://oss.sonatype.org/content/repositories/snapshots/,一旦完成對Apache Falcon編譯器和FlexJS的支持,就會發布。 – 2014-11-05 09:23:33

1

Flexmojos-maven-plugin 7.0.x版使用FDK 4.12.1.20140427構建。這個FDK聲明爲這個maven插件的依賴。 您首先需要將FDK 4.12.1.20140427變爲maven,並將其發送給您的Maven存儲庫。只有在此之後,您纔可以使其他版本的FDK變爲原始狀態。

0

我已經寫了不少文件近來,請退房至:https://cwiki.apache.org/confluence/display/FLEX/Preparing+FDKs+for+Maven+builds

短的版本: 我們已經創建了一個Maven的擴展,應自動下載並且它們在引用安裝的Flex SDK maven構建。此外,Flexmojos 7.1.0-SNAPSHOT已更新爲不再包含對任何FDK工件的引用。此外,我們現在使用3段版本,例如:4.14.1