Копирование SWF-ресурсов с помощью flex-mojos в пользовательскую папку

Как я могу настроить copy-flex-resources цель и swf зависимости для копирования SWF-файлов в пользовательскую папку в моем веб-приложении? По умолчанию он копируется в корень веб-приложения.

Больше о copy-flex-resources цель здесь: https://docs.sonatype.org/display/FLEXMOJOS/Copy+Flex+Resources

3 ответа

Я использую maven-antrun-plugin для копирования нескольких SWF-файлов из нескольких подпроектов (возможно, есть лучший способ, но он выполняет свою работу)

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>             
            <phase>process-resources</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <tasks>
                    <move file="${project.build.directory}/${project.build.finalName}/mySwf-${project.version}.swf"
                        tofile="${project.build.directory}/${project.build.finalName}/somedir/mySwf.swf" />
                </tasks>
            </configuration>
        </execution>
    </executions>
  </plugin>

Для военного проекта плагин maven-dependency-plugin является несколько лучшим выбором. Он может копировать разные ресурсы в разные места и синхронизируется с вашими версиями, объявленными в ваших зависимостях.

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.0</version>
                <executions>
                     <execution>
                        <id>copy-content</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.foo.bar</groupId>
                                    <artifactId>barstyles</artifactId>
                                    <type>swf</type>
                                    <outputDirectory>${flashAppDir}/bar</outputDirectory>
                                    <destFileName>barstyles.swf</destFileName>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.graniteds</groupId>
                                    <artifactId>graniteds</artifactId>
                                    <type>swf</type>
                                 <outputDirectory>${flashAppDir}/thirdparty</outputDirectory>
                                    <destFileName>graniteds.swf</destFileName>
                                </artifactItem>
                               </artifactItems>
                        </configuration>
                    </execution>

Вы можете добавить "конфигурацию" к этому плагину:

<configuration> 
    <webappDirectory>${basedir}/src/main/webapp</webappDirectory> 
    <!-- If RSLs are coming from the WAR uncomment this line 
    <copyRSL>false</copyRSL>--> 
</configuration> 
Другие вопросы по тегам