首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建自己的Maven存储库?

如何创建自己的Maven存储库?
EN

Stack Overflow用户
提问于 2019-08-23 14:37:56
回答 1查看 10.7K关注 0票数 1

我想知道,如何创建自己的依赖关系,以便在其他项目中使用我的代码。

我在听教程。我尝试用Maven项目创建简单类的项目。我做了干净的包装。创建了github存储库。添加了我的项目与“目标”包。在pom.xml中,我添加了

代码语言:javascript
复制
<properties>
        <java.version>1.8</java.version>
        <github.global.server>github</github.global.server>
        <github.maven-plugin>0.12</github.maven-plugin>
    </properties>

    <distributionManagement>
        <repository>
            <id>internal.repo</id>
            <name>Temporary Staging Repository</name>
            <url>file://${project.build.directory}/mvn-repo</url>
        </repository>
    </distributionManagement>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.1</version>
                <configuration>
                    <altDeploymentRepository>internal.repo::default::file://${project.build.directory}/mvn-repo</altDeploymentRepository>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.github.github</groupId>
                <artifactId>site-maven-plugin</artifactId>
                <version>${github.maven-plugin}</version>
                <configuration>
                    <message>Maven artifacts for ${project.version}</message>
                    <noJekyll>true</noJekyll>
                    <outputDirectory>${project.build.directory}/mvn-repo</outputDirectory>
                    <branch>refs/heads/mvn-repo</branch>
                    <includes><include>**/*</include></includes>
                    <repositoryName>GITHUB_NAME_REPOSITORY</repositoryName>
                    <repositoryOwner>MY_GITHUB_NICKNAME</repositoryOwner>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>site</goal>
                        </goals>
                        <phase>deploy</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

在.m2目录根目录中创建settings.xml之后:

代码语言:javascript
复制
<settings>
  <servers>
    <server>
      <id>github</id>
      <username>[username]</username>
      <password>[password]</password>
    </server>
  </servers>
</settings>

再次做了clean+package和推到github。

在尝试使用依赖项之后-没有找到。在github回购公司没有mvn-回购分支机构

EN

回答 1

Stack Overflow用户

发布于 2019-08-23 14:44:26

我还没有使用新的GitHub存储库,但是到目前为止,什么工作得很好:

  • 私有的,单机使用:mvn install ->工件将安装在本地Maven存储库中,并且可以由同一台机器上的任何其他项目引用。
  • 开放源码,多台机器/开发人员:mvn deployMaven Central。有关配置和所涉步骤的更多信息,请参见文档
  • 封闭源代码、多台机器/开发人员:mvn deploy到您自己的Maven Repository管理器(如尼克斯 )(相应地配置distributionManagement )

也就是说,在所有3种情况下使用您自己的Maven Repository并定义一个最佳做法是一个单群

来自Maven默认生命周期文档:

package :将编译后的代码打包成可发行的格式,例如JAR。 install :将包安装到本地存储库中,以便在本地其他项目中用作依赖项。 deploy:在集成或发布环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57628417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档