0

我正在尝试将主应用程序 (.mxml) 编译为 SWF 文件,并将许多 CSS 文件编译为 SWF 文件,以创建可以在运行时加载的皮肤。

我用这个:

...
<execution>
    <id>default-compile-swf</id>
    <configuration>
        <sourceFile>./com/sim/tide/views/impls/application/Sim.mxml</sourceFile>
        <debug>true</debug>
        <services>${web.services.location}/services-config.xml</services>
    </configuration>
</execution>
<execution>
    <id>compile-css-black_is_mine</id>
    <phase>compile</phase>
    <goals>
        <goal>compile-swf</goal>
    </goals>
    <configuration>
        <finalName>black_is_mine</finalName>
        <sourceFile>../resources/styles/black_is_mine.css</sourceFile>                      
    </configuration>
</execution>
...

这段代码似乎可以工作,因为${project.build.directory}我有 2 个 SWF 文件,一个用于我的应用程序,一个用于我的皮肤。

我的问题发生在灵态中install。现在,它是我的 SWF 皮肤文件,它安装在我的本地存储库中,它不再是基于我的应用程序的 SWF,但工件的名称仍然是我的应用程序皮肤的名称......总而言之,如果m.swf我生成的 SWF 文件是基于我的application 文件,c.swf是我基于我的 css 文件生成的 SWF 文件,目标install将安装c.swf在我的本地存储库中,名称为m.swf.

我试图像这样更改执行的配置:

<execution>
     <id>default-install</id>
        <phase>install</phase>
        <goals>
          <goal>install</goal>
        </goals>            
        <configuration>                    
        <file>${project.build.directory}/${project.artifactId}-${sim-flex.version}.swf</file>
        </configuration>
      </execution>

选择要安装的正确 SWF 但没有效果...

那么,我如何使用它Flexmojos来编译尽可能多的 SWF 文件并将它们正确安装到本地存储库中呢?似乎只能安装一个 SWF 文件。

4

1 回答 1

0

我发现了一个“hack”,只需将我想要的 SWF 安装org.apache.maven.plugins:maven-install-plugin:install-file到我的本地存储库中并取消默认安装目标:

<execution>
    <id>default-install</id>
    <phase>non_existing_phase</phase>
</execution> 

现在,这个目标将永远不会被触发,因为它的有界阶段不存在。

于 2013-04-18T19:12:22.447 回答