我正在为用 java/javascript 编写的 RIA 寻找最好的打包方法,并且在 javascript 部分苦苦挣扎。 我在 http://mojo.codehaus.org/javascript-maven-tools/javascript-ria-archetype/index.html 找到了 JS RIA maven 原型(prototype) 但是我的应用程序使用 dojo 而不是 jquery。问题是如何打包 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
版本号很奇怪,因为我试图将 target 中的目录结构与我在 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>
将“dojo/query”作为 AMD 插入 javascript 源代码中:
+ 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/classes/js/org/codehaus/mojo/jquery-amd/1.7.1-alpha-1/jquery-amd-1.7.1-alpha- 1.js 在对我的 ~/.m2 和目标目录中的任何提示进行广泛研究之后。 因此,我不知道如何准备 dojo 来使“dojo/anything”引入所需的依赖项。 有什么想法吗?
最佳答案
你真的必须使用原型(prototype)吗?我在我的项目中使用 Dojo、jQuery 和许多其他 JS 库,并使用 maven 构建它们。我在我的博客上简要地写了关于它的文章 here .也许如果你把你遇到的问题分解成更小的部分,就会更容易提供帮助
关于javascript - 如何为 javascript maven 工具打包 dojo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17143185/