如何为javascript maven工具打包dojo?

如何为javascript maven工具打包dojo?,javascript,maven,dojo,js-amd,Javascript,Maven,Dojo,Js Amd,我正在寻找用java/javascript编写的RIA的最佳打包方法,并且正在努力解决javascript部分的问题。 我发现JS RIA maven原型位于 但是,我的应用程序使用dojo而不是jquery。问题是如何打包dojo以使其作为依赖项可用? 我试着这样做: mvn安装:安装文件-DgroupId=org.dojotoolkit-DartifactId=dojo-Dversion=dojo-1.9.0-dpackage=zip-Dfile=/home/mag/.m2/reposito

我正在寻找用java/javascript编写的RIA的最佳打包方法,并且正在努力解决javascript部分的问题。 我发现JS RIA maven原型位于 但是,我的应用程序使用dojo而不是jquery。问题是如何打包dojo以使其作为依赖项可用? 我试着这样做:

  • mvn安装:安装文件-DgroupId=org.dojotoolkit-DartifactId=dojo-Dversion=dojo-1.9.0-dpackage=zip-Dfile=/home/mag/.m2/repository/org/dojotoolkit/dojo/1.9.0/dojo-1.9.0.zip-DgeneratePom-DcreateChecksum

    版本号很奇怪,因为我试图将target中的目录结构与jquery中的目录结构相匹配

  • 将依赖项添加到pom.xml,并将一些解包添加到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>
    
    在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中

    在对我的~/.m2和目标目录中的任何提示进行了广泛的研究之后,我不知道AMDing“jquery”是如何找到target/classes/js/org/codehaus/mojo/jquery amd/1.7.1-alpha-1/jquery-amd-1.7.1-alpha-1.js的。 因此,我不知道如何准备dojo,使“dojo/anywhere”引入所需的依赖项。
    有什么想法吗?

    你真的需要使用原型吗?我在项目中使用了Dojo、jQuery和许多其他JS库,并使用maven构建了所有这些库。我在我的博客上简要地写了一下。也许如果你把你遇到的问题分解成更小的部分,你会更容易得到帮助

        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