Вы можете построить свой проект Sencha ExtJS с помощью Maven с помощью Sencha CMD. Это довольно легко. Проверьте мой пример проекта Сенча ExtJS 5 + Сенча Cmd 5 + Maven:
https://github.com/dobromyslov/sencha-extjs-maven
Sencha ExtJS 5.0 BETA available в данный момент. Прочитайте Sencha CMD docs и попробуйте в действии.
Тогда просто поставить свой проект в папке webapp
и использовать exec-maven-plugin
для сборки приложений ExtJS с Сенчем CMD, как это:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>sencha-compile</id>
<phase>compile</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<!-- Set path to your Sencha Cmd executable-->
<executable>../Sencha/Cmd/5.0.0.116/sencha</executable>
<arguments>
<argument>-sdk</argument>
<argument>${basedir}/src/main/webapp</argument>
<argument>app</argument>
<argument>build</argument>
<argument>--clean</argument>
<argument>--environment</argument>
<argument>${sencha.env}</argument>
<argument>--destination</argument>
<argument>${basedir}/src/main/webapp/build</argument>
</arguments>
</configuration>
</execution>
</executions>
Если вы хотите, чтобы очистить ненужные файлы из результирующего файла WAR затем использовать maven-war-plugin
с настроенными исключениями, как это:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<webResources>
<resource>
<directory>src/main/webapp/build/${sencha.env}/MyApp</directory>
<excludes>
<exclude>**/Readme.md</exclude>
</excludes>
</resource>
</webResources>
<packagingExcludes>.sencha/**,app/**,build/**,ext/**,overrides/**,packages/**,sass/**,bootstrap.css,bootstrap.js,bootstrap.json,build.xml,Readme.md</packagingExcludes>
</configuration>