Как передать дополнительные аргументы компилятора в flexmojos-maven-plugin 3.8?

Что мы знаем:

Когда я собираю проект flex с помощью Flex Builder (то есть без сборки maven), я могу использовать "Свойства проекта> Компилятор Flex> Дополнительные аргументы компилятора" для передачи некоторых дополнительных аргументов, таких как ссылка на файл services-config.xml:

На приведенном выше снимке экрана я передаю эти дополнительные аргументы, благодаря которым мои SWF-файлы могут взаимодействовать с соответствующими службами: -services "C:\MyProject\WebRoot\WEB-INF\flex\services-config.xml" -locale en_US

Что мы делаем:

Нам поручено преобразовать этот гибкий проект в проект maven. Я сделал это с помощью flexmojos-maven-plugin 3.8. (Я не могу использовать последние версии, длинная история.) Он успешно компилируется и генерирует SWF-файлы. Тем не менее, я не знаю, как передать выше дополнительные аргументы в конфигурации моего flexmojos-maven-plugin.

Вот моя рабочая конфигурация в pom.xml:

         <plugin> 
            <groupId>org.sonatype.flexmojos</groupId> 
            <artifactId>flexmojos-maven-plugin</artifactId> 
            <version>3.8</version> 
            <extensions>true</extensions> 
            <configuration> 
                <sourceFile>Abc.mxml</sourceFile> 
                <debug>true</debug> 
                <storepass></storepass> 
                <output>${basedir}/target/Abc.swf</output> 
            </configuration> 
            <dependencies> 
                <dependency> 
                    <groupId>com.adobe.flex</groupId> 
                    <artifactId>compiler</artifactId> 
                    <version>3.2.0.3958</version> 
                    <type>pom</type> 
                </dependency> 
            </dependencies> 
        </plugin> 

Вопрос:

Может кто-нибудь предложить, как я могу передать мои вышеупомянутые дополнительные аргументы компилятора в конфигурации плагина выше в pom.xml? Без этого генерируется SWF-файл, но он не может связаться со службой.

1 ответ

Решение

Плагин flexmojos-maven-plugin предоставляет возможность определять сервисы через узел конфигурации следующим образом:

            <plugin>
                <groupId>org.sonatype.flexmojos</groupId>
                <artifactId>flexmojos-maven-plugin</artifactId>
                <version>3.8</version>
                <extensions>true</extensions>
                <configuration>
                    <sourceFile>Abc.mxml</sourceFile>
                    <debug>true</debug>
                    <storepass></storepass>
                    <output>${basedir}/target/Abc.swf</output>
                    <services>../MyProject/WebRoot/WEB-INF/flex/services-config.xml</services>
                    <contextRoot>/</contextRoot>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>com.adobe.flex</groupId>
                        <artifactId>compiler</artifactId>
                        <version>3.2.0.3958</version>
                        <type>pom</type>
                    </dependency>
                </dependencies>
            </plugin>

Если вы указываете сервисы, то вы должны также указать contextRoot.

Другие вопросы по тегам