2

java/javascript で書かれた RIA の最適なパッケージ化方法を探していて、javascript の部分に苦労しています。http://mojo.codehaus.org/javascript-maven-tools/javascript-ria-archetype/index.htmlで JS RIA Maven アーキタイプを見つけましたが、 私のアプリケーションでは jquery の代わりに dojo を使用しています。問題は、dojo を依存関係として利用できるようにパッケージ化する方法です。私はこれを試していました:

  1. mvn install:install-file -DgroupId=org.dojotoolkit -DartifactId=dojo -Dversion=dojo-1.9.0 -Dpackaging=zip -Dfile=/home/mag/.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 として JavaScript ソースに「dojo/query」を挿入します。

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

    src/main/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

そして私はこれを得る:

[エラー] 依存関係が見つかりません: ファイル内の dojo/query: [...]/src/main/js/HelloWorld/HelloWorldController.js

AMDing "jquery" が target/class/js/org/codehaus/mojo/jquery-amd/1.7.1-alpha-1/jquery-amd-1.7.1-alpha-1.js を見つける方法についての手がかりがありません~/.m2 およびターゲットディレクトリのヒントを徹底的に調査した後。したがって、「道場/何でも」が必要な依存関係をもたらすように道場を準備する方法がわかりません。何か案は?

4

1 に答える 1

0

本当にアーキタイプを使用する必要がありますか? 私は自分のプロジェクトで Dojo、jQuery、およびその他のかなりの数の JS ライブラリを使用し、すべて maven を使用してビルドしています。私はここで私のブログでそれについて簡単に書きました. 抱えている問題を細かく分割すれば、解決しやすくなるかもしれません

于 2013-11-21T14:34:18.700 に答える