Как передать дополнительные аргументы компилятора в 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.