首页 文章

下载Maven资源库文件

提问于
浏览
2

我有一个Maven存储库,其中包含我想在其他项目上本地使用的jar文件 . 从Maven仓库下载这些jar文件的最佳方法是什么?

我去了http://mvnrepository.com/但是jar文件在我的构建中不起作用 . 我想有Maven构建jar文件,但我无法从Netbeans中的项目中保存它们 .

有没有办法下载Maven存储库中的所有文件?

3 回答

  • 8

    在maven中心可能有数千个jar文件,所以我不会尝试下载所有这些文件 .

    通常,如果您想使用maven存储库中的jar,您可能想要自己启动maven项目;配置 pom.xml 以要求这些依赖项,它们将自动下载 .

    大多数Java IDE都有maven支持或maven插件 .

    • 编辑 -

    这是来自maven's website的一个非常快的 pom.xml 示例:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.mycompany.app</groupId>
      <artifactId>my-app</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>Maven Quick Start Archetype</name>
      <url>http://maven.apache.org</url>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.8.2</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </project>
    

    如果您正在使用eclipse,您可能希望m2e插件能够为您处理大部分内容 . 此外,它还将javadoc链接到这些 jar . :)

  • 1

    为什么不尝试使用Maven呢?使用Maven,您可以轻松自动管理您的依赖项 .

    这很简单 . 请检查Maven in 5 minutes,以便您可以成功开始 . 有任何疑问,请告诉我 .

    • 编辑 -

    只要学习了一些主要概念,比如依赖项,就可以使用以下命令简单地启动项目:

    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    

    之后,您可以使用以下命令导入到Eclipse等最常用的IDE:

    mvn eclipse:eclipse
    
  • 3

    显而易见的答案是建议您考虑使用Maven构建代码 . 这将为您提供Maven Central存储库的本机支持 .

    但是......我觉得你只想将你需要的文件下载到本地目录?在那种情况下,我建议使用Apache ivy command-line .

    示例

    您需要的文件列在ivy.xml文件中 . 例如:

    <ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
        <info organisation="com.myspotontheweb" module="demo"/>
    
        <dependencies>
            <dependency org="commons-lang" name="commons-lang" rev="2.6" conf="default"/>
            <dependency org="junit" name="junit" rev="4.10" conf="default"/>
        </dependencies>
    
    </ivy-module>
    

    常 Spring 藤可以填充本地“lib”目录,如下所示:

    java -jar ivy.jar -retrieve "lib/[artifact].[ext]" -ivy ivy.xml
    

    这种方法的优点是常 Spring 藤可以下载您指定的模块的附加传递依赖项:

    $ find lib -type f
    lib/commons-lang.jar
    lib/junit.jar
    lib/hamcrest-core.jar
    

    Note:

    • hamcrest-core是junit的依赖 .

相关问题