2013-06-17 4 views
2

Я ищу лучший подход к упаковке для RIA, написанный на java/javascript, и борющийся с частью javascript. Я нашел JS RIA maven архетип в http://mojo.codehaus.org/javascript-maven-tools/javascript-ria-archetype/index.html Однако мое приложение использует dojo вместо jquery. Вопрос в том, как упаковать додзе, чтобы сделать его доступным как зависимость? Я пытался это:Как упаковать dojo для javascript maven tools?

  1. МВН установки: установка-файл -DgroupId = org.dojotoolkit -DartifactId = додзё -Dversion = додзё-1.9.0 -Dpackaging = почтовый -Dfile =/дом/МАГ /. m2/repository/org/dojotoolkit/dojo/1.9.0/dojo-1.9.0.zip -DgeneratePom -DcreateChecksum

    номер версии - это странно, потому что я пытался сопоставить структуру каталогов в цель с тем, что я см. jQuery

  2. добавление зависимости от этого и некоторых распаковки в pom.xml:

    <!--project/dependencies --> 
          <dependency> 
           <groupId>org.dojotoolkit</groupId> 
           <artifactId>dojo</artifactId> 
           <version>dojo-1.9.0</version> 
           <type>zip</type> 
          </dependency> 
    
    <!--project/build/plugins --> 
           <plugin> 
            <groupId>org.apache.maven.plugins</groupId> 
            <artifactId>maven-dependency-plugin</artifactId> 
            <executions> 
            <execution> 
             <id>unpackDojo</id> 
             <phase>generate-sources</phase> 
             <goals> 
             <goal>unpack</goal> 
             </goals> 
             <configuration> 
             <artifactItems> 
              <artifactItem> 
              <groupId>org.dojotoolkit</groupId> 
              <artifactId>dojo</artifactId> 
              <classifier>sources</classifier> 
              <version>${dojo.version}</version> 
              <type>zip</type> 
              <outputDirectory>target/classes/js/org/dojotoolkit/ 
              </outputDirectory> 
              </artifactItem> 
             </artifactItems> 
             </configuration> 
            </execution> 
            </executions> 
           </plugin> 
    
  3. вставки "додзё/запрос" в качестве источника яваскрипта AMD:

    + define(["jquery","dojo/query"], function($,query) { 
    - define(["jquery"], function($) { 
    

    в начале SRC/основной/JS/HelloWorld/HelloWorldController.js

Мишень теперь выглядит следующим образом:

target/classes/js/org/dojotoolkit/dojo-1.9.0/dojo-dojo-1.9.0/query.js 
    target/classes/js/org/codehaus/mojo/jquery-amd/1.7.1-alpha-1/jquery-amd-1.7.1-alpha-1.js 

и я получаю это:

[ERROR] Dependency не найдено: додзе/запроса в файл: [...]/SRC/главная/JS/HelloWorld/HelloWorldController.js

Я не имею ни малейшего понятия о том, как AMDing "JQuery" приводит к поиску target/classes/js/org/codehaus/mojo/jquery-amd/1.7.1-alpha-1/jquery-amd-1.7.1-alpha-1.js после обширных исследований для любого намека на мои ~/.m2 и целевых каталогов. Следовательно, я понятия не имею, как подготовить додзё, чтобы «додзе/что-нибудь» принести необходимую зависимость. Любые идеи?

ответ

0

Вам действительно нужно использовать архетип? Я использую Dojo, jQuery и немало других JS-библиотек в моем проекте и строю все это с помощью maven. Я кратко написал об этом в своем блоге here. Возможно, если вы нарушите проблемы, возникающие у вас на небольших кусках, вам будет легче помочь