27

我注意到有一些 Eclipse 的 Maven 插件支持 JavaScript 开发。使用这些的问题是我在 Maven 中央存储库中找不到任何 JavaScript 工件。具体来说,我正在寻找 JQuery。

是否有专门用于 JavaScript 的 Maven 存储库?

谢谢

4

4 回答 4

11

尝试 webjars。http://www.webjars.org/

它拥有所有主要的库,而且它在 github 中,所以如果你真的需要,你可以 fork 自己的版本。

它应该适用于带有元数据扫描的 servlet 3 规范容器。但是我使用https://github.com/bazaarvoice/dropwizard-webjars-resource/来明确地提供服务,因为我使用的是 JAX-RS(使用 Jersey)。

于 2013-01-31T14:24:08.710 回答
6

如果您的问题是关于 javascript 的存储库,您可以查看 CDN:

但是,请注意它们不提供本地 javascript(就像 Maven 如何检索和存储 jars),因此需要 Internet 连接并且会有网络开销。

而且,它们不管理 javascript 的依赖关系。javascript 的依赖管理本身就是一个更大的问题。

希望我已经回答了你的问题。

于 2011-12-05T15:21:44.980 回答
2

在业余时间,我一直在为 Maven 和 JavaScript 开发写一个更好的故事。你可以在jszip.org上看到我的努力成果

就个人而言,我认为只有几个问题需要解决:

  • 如何处理依赖项中的 LESS 和 SASS 样式表

  • 整理代码以使其更具可扩展性

  • 更好的文档。

作为努力的一部分,我确实将 JavaScript 库重新打包为简单.zip文件,您可以Central 上看到完整的列表,您会注意到jQuery就是其中之一,尽管我可能必须在下一次获得 1.9.x 版本时选择机会之窗

因为我将这些打包为简单的.zip文件,所以您不必使用 jszip 工具链的其余部分,但显然我认为它优于仅解压缩.zip作为构建的一部分,例如dependency:unpack-dependencies

以下是如何使用其工具添加 jszip 模块的示例:

<project>
  ...
  <dependencies>
    ...
    <dependency>
      <groupId>org.jszip.redist</groupId>
      <artifactId>jquery</artifactId>
      <version>1.8.3</version>
      <type>jszip</type>
    </dependency>
    ...
  </dependencies>

  <build>
    ...
    <plugins>
      ...
      <plugin>
        <groupId>org.jszip.maven</groupId>
        <artifactId>jszip-maven-plugin</artifactId>
        <extensions>true</extensions>
        <executions>
          <execution>
            <goals>
              <goal>unpack</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
    </plugins>
    ...
  </build>

  <!-- this next part assumes you want to minify all javascript for releases 
       and that your release profile used by the maven release plugin is called
       'release' (i.e. the default) -->
  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jszip.maven</groupId>
            <artifactId>jszip-maven-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>optimize</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
于 2013-01-29T11:35:10.357 回答
1

Maven 在 java 中比 javascript 更受欢迎,因此您只能在 maven 中央存储库中找到数量有限的 javascript 库。虽然 JQuery 非常流行,并且如您在此处看到的那样,maven Central 上存在几个它的包。

对于其他 javascript 库,您可以尝试让 maven 使用npm,这是一个流行的 Node.js 包管理系统。有一个插件可以让你在你的 maven 构建中下载 npm 模块。这是jquery npm 包

如果失败,您可以随时打包您需要的 javascript 库,然后自己将它们上传到 maven 中央仓库

于 2013-01-27T15:35:10.397 回答