标签: nexus

我们应该使用Nexus或Artifactory进行Maven回购吗?

我们正在使用Maven进行大型构建过程(> 100个模块).我们一直将外部依赖项存储在源代码控制中,并使用它来更新本地仓库.

但是,我们已准备好升级到可以缓存中心的本地仓库,这样我们就不必主动下载所有第三方(但我们仍然可以从本地仓库中获取).此外,我们希望从每晚构建中发布我们的内部构建工件,以便开发人员不必构建世界.

我们正在考虑Nexus和Artifactory.优先选择其中一个的原因是什么?我们应该考虑其他人吗?

maven-2 nexus artifactory

117
推荐指数
8
解决办法
9万
查看次数

Nexus和Maven有什么区别?

NexusMaven有什么区别?

仅使用Maven的基本方案是什么?那个只考虑Nexus的场景怎么样?当我想要同时使用它们时它看起来如何?

nexus maven

116
推荐指数
2
解决办法
12万
查看次数

如何指定maven的分布管理组织?

我正在试图弄清楚如何组织许多(大约50多个)maven2项目,以便他们可以部署到一个中央nexus存储库.在使用mvn deploy目标时,需要在distributionManagement标记中指定目标,如下所示:

<distributionManagement>
   <repository>
      <id>nexus-site</id>
        <url>http://central_nexus/server</url>
   </repository>
</distributionManagement>
Run Code Online (Sandbox Code Playgroud)

现在,我不希望每个pom.xml(50+以上)一遍又一遍地包含这个块.我的第一个虽然是settings.xml文件,但似乎不可能(按设计)在那里定义它.那么,第一个问题是,为什么会这样呢?如果有可能我可以在maven2发行版的settings.xml中指定它,它可以分发给所有开发人员.

我发现唯一可行的解​​决方案是创建一个组织范围的master-pom项目,它确实包含这些设置,并使所有其他pom.xml依赖于这个master-pom via <parent>标签.但这在多模块构建中看起来很奇怪:

- master configuration POM (pm)
- Project 1 parent pom (p1 with module 1 and module 2 as modules)
    - Project 1 module pom (with pm as parent)
    - Project 2 module pom (with pm as parent)
Run Code Online (Sandbox Code Playgroud)

通常我在所有文档中都读到模块poms应该使用父pom,而不是一些不同的pom.但在阅读了关于继承诉聚合的maven网站之后,我们写道它确实是可能的.

我发现的一个问题是maven网站生成,这似乎有这个设置的问题(模块如果没有直接的反向引用就无法正确链接)

那么,这是一种有效的方法吗?问题的任何其他更明显,更简单的解决方案?

java deployment maven-2 nexus maven

105
推荐指数
3
解决办法
10万
查看次数

将工件上传到Nexus,没有Maven

我有一个非Java项目,它生成一个版本化的构建工件,我想将它上传到Nexus存储库.因为项目不是Java,所以它不使用Maven进行构建.我宁愿不介绍Maven/POM文件只是为了让文件进入Nexus.

博客上的Nexus REST API链接最终都在登录墙上,没有"创建用户"链接,我可以看到.

那么,在没有Maven的情况下,将构建工件上传到Nexus存储库的最佳(或任何合理)方法是什么?"bash + curl"会很棒,甚至是Python脚本.

nexus

97
推荐指数
6
解决办法
12万
查看次数

Maven Snapshot Repository与Release Repository

快照存储库和发布存储库之间有什么区别?

这是关于设置存储库(如Artifactory,Nexus等)

release snapshot repository nexus maven

92
推荐指数
3
解决办法
7万
查看次数

在Nexus中部署工件时出错

我在Nexus服务器的自己的存储库中部署工件时遇到错误:"无法部署工件:无法传输工件""无法传输文件http:/// my_artifact.返回代码为:400"

我让Nexus运行了一个自定义存储库my_repo和下一个maven本地配置:

的settings.xml

<server>
    <id>my_repo</id>
    <username>user</username>
    <password>pass</password>
 </server>
 ...
 <mirror>
    <id>my_repo</id>
    <name>Repo Mirror</name>
    <url><my_url_to_my_repo></url>
    <mirrorOf>*</mirrorOf>
  </mirror>
Run Code Online (Sandbox Code Playgroud)
  • 用户有权创建/读取/写入my_repo -

的pom.xml

<distributionManagement>
        <repository>
            <id>my_repo</id>
            <name>my_repo</name>
            <url><my_url_to_my_repo></url>
            <layout>default</layout>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <name>Snapshots</name>
            <url><my_url_to_my_snapshot_repo></url>
        </snapshotRepository>
    </distributionManagement>
Run Code Online (Sandbox Code Playgroud)

然后我执行

mvn deploy
Run Code Online (Sandbox Code Playgroud)

并得到错误.任何的想法?

deployment nexus pom.xml maven

90
推荐指数
6
解决办法
13万
查看次数

如何让sbt使用本地maven代理存储库(Nexus)?

我有一个sbt(Scala)项目,目前从Web上提取工件.我们希望转向一个可以缓存工件的企业标准化Nexus存储库.从Nexus文档中,我了解如何为Maven项目执行此操作.但是sbt显然使用了不同的方法.(我知道Ivy会以某种方式参与其中,但我从未使用它,也不了解它是如何工作的.)

如何告诉sbt和/或底层Ivy将所有依赖项用于企业Nexus存储库系统?我想要使​​用某种项目级配置文件的答案,以便我们的源存储库的新克隆将自动使用代理.(即,在点目录中使用每个用户的配置文件捣乱是不可行的.)

谢谢!

scala nexus ivy maven sbt

72
推荐指数
5
解决办法
4万
查看次数

如何在Nexus Repository Manager OSS 3中手动部署工件

安装Nexus Repository Manager OSS 3后,我看不到Artifact Upload通过网页上传工件的选项.

在Nexus Repository Manager OSS 2.13中,可以选择执行该操作.

任何人都可以告诉我如何将工件上传到Nexus 3中的托管存储库?

编辑:从3.9.0版本,实现此功能.

artifacts repository nexus nexus3

65
推荐指数
4
解决办法
8万
查看次数

Maven发布插件失败:源工件被部署两次

我们正在使用hudson上的maven发布插件并尝试自动执行发布过程.发布:准备工作正常.当我们尝试执行release:perform时,它会失败,因为它会尝试将源工件两次上传到存储库.

我试过的东西,

  1. 从超级pom中删除包含maven源插件的配置文件(不起作用)
  2. 将hudson上的目标指定为-P!attach-source release:prepare release:perform.我认为这将排除源插件被执行.(不工作).
  3. 尝试将插件阶段指定为超级pom中的一些不存在的阶段.(没有工作)
  4. 尝试将插件配置指定为forReleaseProfile为false.(猜猜是什么?也没用)

它仍然吐出这个错误.

[INFO] [DEBUG] Using Wagon implementation lightweight from default mapping for protocol http
[INFO] [DEBUG] Using Wagon implementation lightweight from default mapping for protocol http
[INFO] [DEBUG] Checking for pre-existing User-Agent configuration.
[INFO] [DEBUG] Adding User-Agent configuration.
[INFO] [DEBUG] not adding permissions to wagon connection
[INFO] Uploading: http://xx.xx.xx.xx:8081/nexus/content/repositories/releases//com/yyy/xxx/hhh/hhh-hhh/1.9.40/hhh-hhh-1.9.40-sources.jar
[INFO] 57K uploaded  (xxx-xxx-1.9.40-sources.jar)
[INFO] [DEBUG] Using Wagon implementation lightweight from default mapping for protocol http
[INFO] [DEBUG] Using Wagon implementation lightweight from default …
Run Code Online (Sandbox Code Playgroud)

java nexus maven maven-release-plugin

58
推荐指数
5
解决办法
3万
查看次数

如何在GitLab中存储版本/二进制文件?

我正在使用Gitlab,Jenkins和 - 可能 - Nexus构建一个工作流程(我需要一个工件存储).我想让GitLab存储版本/二进制文件 - 是否可以方便地进行存储?

我不希望有另一个服务可以从中下载发行版(和文档)但是以某种方式与存储库管理器集成,就像在GitHub中处理发布一样.有线索吗?

git nexus jenkins gitlab

56
推荐指数
2
解决办法
5万
查看次数