2012-04-10 14 views
5

Czy ktoś użył ExtJs 4 z mavenem? Na razie narzędzie Sencha SDK działa tylko z wdrożoną i uruchomioną aplikacją webową (jest to aplikacja webowa Java), nawet w tym przypadku wygenerowana aplikacja all.js nie zawiera wszystkich zależności, a dodatek Ext pobiera dużo dep. W czasie wykonywania. Potrzebuję w jakiś sposób zintegrować generowanie plików produkcyjnych w procesie kompilacji.Sencha Windows SDK Tool 2.0.0. Integracja Maven

Odpowiedz

1

Możesz dostarczyć zasoby (w tym przypadku Ext JS 4) tak jak inne zasoby (html, obrazy, css, inne javascript).

Istnieje kilka rozwiązań lub pomysłów, jak zapewnić rozwiązanie Maven.

Poza tym, najnowsza wersja będzie Sencha Cmd 3 (formly SDK Tools), więc zajrzeć do http://www.sencha.com/forum/forumdisplay.php?8-Sencha-Cmd

-

W moim opini możesz trzymać się prostego sposobu dodawania rzeczy takich jak zasoby. Jeśli chcesz zbudować, możesz wykonać skrypt i/lub plik wykonywalny Sencha SDK/Cmd w Maven (na przykład maven-exec-plugin).

Więc, jeśli myśli nie byłoby proste Sencha Maven Plugin inicjowanie Narzędzia SDK prawo od pom.xml: Nie;)

1

Możesz budować swój projekt Sencha ExtJS z Maven użyciu Sencha CMD. To dość łatwe. Sprawdź mój przykładowy projekt Sencha Sencha ExtJS 5 + 5 + Cmd Maven:

https://github.com/dobromyslov/sencha-extjs-maven

Sencha ExtJS 5.0 BETA available w tej chwili. Przeczytaj Sencha CMD docs i wypróbuj go w akcji.

Potem wystarczy umieścić swój projekt w folderze webapp i używać exec-maven-plugin zbudować aplikację ExtJS z Sencha CMD jak ten:

<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> 

Jeśli chcesz, aby oczyścić niepotrzebne pliki z wynikowego pliku WAR następnie użyj maven-war-plugin ze skonfigurowanych wyłączeń tak:

<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>