java/javascript で書かれた RIA の最適なパッケージ化方法を探していて、javascript の部分に苦労しています。http://mojo.codehaus.org/javascript-maven-tools/javascript-ria-archetype/index.htmlで JS RIA Maven アーキタイプを見つけましたが、 私のアプリケーションでは jquery の代わりに dojo を使用しています。問題は、dojo を依存関係として利用できるようにパッケージ化する方法です。私はこれを試していました:
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に表示されるものと一致させようとしていたため、バージョン番号は奇妙です
これに依存関係を追加し、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>
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 およびターゲットディレクトリのヒントを徹底的に調査した後。したがって、「道場/何でも」が必要な依存関係をもたらすように道場を準備する方法がわかりません。何か案は?