Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将一组文件添加到本地Maven存储库_Maven - Fatal编程技术网

将一组文件添加到本地Maven存储库

将一组文件添加到本地Maven存储库,maven,Maven,我有一个现有的java项目。这是一个maven项目。我想将它添加到本地maven存储库中,以便在其他项目中重用 MyUtilityClass.jar MyUtilityClassSources.jar MyUtilityClassDocs.jar 依靠 slf4j-1.7.2.jar junit-4.11.jar 这给出了使用mvn install:install file将单个文件添加到本地maven存储库的说明 这给出了使用mvn部署文件添加一组JAR源代码、javadoc等的说明 这暗

我有一个现有的java项目。这是一个maven项目。我想将它添加到本地maven存储库中,以便在其他项目中重用

MyUtilityClass.jar
MyUtilityClassSources.jar
MyUtilityClassDocs.jar
依靠

slf4j-1.7.2.jar
junit-4.11.jar
这给出了使用mvn install:install file将单个文件添加到本地maven存储库的说明

这给出了使用mvn部署文件添加一组JAR源代码、javadoc等的说明

这暗指通过pom.xml文件指定依赖项,但不提供详细信息

我有两项任务要完成:

  • 将MyUtilityClass的项目添加到我的本地存储库中,当我将它们拉入时,会自动添加源、文档和依赖项

  • 我想为MyUtilityClass项目创建一个maven任务,它将最新和最好的包添加到我的本地存储库中

  • 我使用eclipse作为IDE和maven版本3.0.4。此项目的POM如下所示:

    <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.local.mine</groupId>
      <artifactId>MyUtilityClass</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>MyUtilityClass</name>
      <url>http://maven.apache.org</url>
    
      <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>
        <dependency>
            <groupId>com.local.mine</groupId>
            <artifactId>slf4j</artifactId><!--from local repo -->
            <version>1.7.2</version>
        </dependency>
        <dependency>
            <groupId>com.local.mine</groupId>
            <!--from local repo and shouldn't be automatically added -->
            <!-- to projects that reuse the resulting bundle -->
            <artifactId>log4j</artifactId>
         <version>1.2.17</version>
        </dependency>
      </dependencies>
    </project>
    
    
    4.0.0
    com.local.mine
    MyUtilityClass
    0.0.1-快照
    罐子
    MyUtilityClass
    http://maven.apache.org
    朱尼特
    朱尼特
    4.11
    com.local.mine
    slf4j
    1.7.2
    com.local.mine
    log4j
    1.2.17
    
    最简单的方法是将每个项目视为它们自己的发布周期。他们应该彼此独立

    正如你所发现的,你可以

    • 使用install将工件安装到本地存储库中
    • 使用安装文件将辅助构件安装到本地存储库
    • 使用deploy可以执行与install(-file)相同的步骤,但可以部署到远程存储库
    发布插件也是如此。当您执行release:prepare和release:perform这两个目标时,您的最终结果是

    • pom文件中的版本值更新
    • 已创建版本控制标记
    • 已安装并部署工件
    • 部署的任何源和/或javadoc工件

    您要使用的是。

    简单的解决方案是使用

    mvn install
    
    在您希望重用的项目中。这将把项目的工件安装到位置存储库中