Maven 用了三个月,最近开始尝试用 Nexus,目标很简单,就是搭个私服,用来做部门的公用仓库,有需要时上传一些第三方构件。说起来简单,但过程就俩字:折腾~
花了三个周末,直到今天,才总算搭好了环境。有些概念还没弄清,但基本使用是没问题的。期间分别尝试了三台电脑,三个操作系统(Win7,Ubuntu,Debian),三种网络(广东电信,广东联通,北京联通),两种部署方式(Jetty,Tomcat),一次又一次的 Google,无数次的尝试。。。
刚开始了解 Nexus 时,觉得它很方便,甚至自带了 Jetty,下载后直接跑就行了嘛,但真正用起来,就像一场恶梦。。。当然,对于 Maven 跟 M2Eclipse 不够熟悉也是导致出现问题的原因之一。本文不是 Nexus 的安装配置心得(可能迟些会写),只是一些问题记录。
-
问题一:在 Debian 上使用 Nexus 1.9.0.2 自带的 Jetty 运行,报错。
我忘了把异常记下来。该问题至今仍未解决,可能跟我的 Debian 有关系。目前我通过 Tomcat 部署 Nexus webapp 暂时解决了问题。
-
问题二:下载 Maven Central 和 Java.net - Maven 2 仓库索引时,出现异常 "java.net.SocketTimeoutException: Read timed out"。就只有这两个仓库有问题,其它都正常。
上个周末和上上个周末,我一直遇到这个问题,导致 Nexus 根本用不了。Google 没找到答案,在 Sonatype 官网上有一个 Issue (https://issues.sonatype.org/browse/NEXUS-1908
) 说的就是这个问题,但这个两年前提出来的 Issue 至今状态仍是 Unresolved 。。。
而更神奇的是,就在今天,在我对这个问题已经绝望的时候,却发现,问题自动消失了,能正常下载索引了!我是又高兴又想骂娘啊。。。
猜测,很可能是网络问题。但到底是国内网络的问题呢,还是那两个仓库的网络问题,就不得而知了。
-
问题三:使用 M2Eclipse 一次性更新大量 Maven 依赖时,Nexus 后台会报错
org.restlet.Component.Server - Error while handling an HTTP server call: null
org.restlet.Component.Server - An exception occured writing the response entity: null
然后 Eclipse 中有些依赖怎么都下载不到,一直提示 "Missing artifact"。
这个问题涉及到 Nexus + Maven + M2Eclipse,目前我还不大明白其根本原因。大概的原因是,更新依赖时出错,然后本地仓库出现了一些 .lastUpdated 文件,这些文件会阻止 M2Eclipse 从远程仓库下载依赖。所以解决方法就是,把本地仓库中这些 .lastUpdated 文件删除,重新更新依赖。
分享到:
相关推荐
** Maven 私库服务器 Nexus 3 的安装与配置详解** Nexus 3 是 Sonatype 公司提供的一个强大的 Maven 私库管理工具,它支持多种操作系统,包括 Linux 和 Windows。私库服务器对于企业级开发至关重要,它能有效地管理...
Nexus是Sonatype公司开发的一款强大的Maven仓库管理器,它可以帮助开发者管理和分发软件构件,如JARs、WARs、NPM包等。在Linux/CentOS系统上安装Nexus 3.31.0是软件生命周期管理的重要一环,特别是对于Java开发团队...
【 Maven 私服 Nexus3 安装详解及实践】 Maven 私服 Nexus3 是一个企业级的仓库管理工具,它允许开发团队集中管理和分发软件构件,包括 Maven 的 JAR 包、NPM 包、Gradle 构件等。在进行大型项目开发时,私有 Maven...
### Nexus Repository Manager 使用详解 #### 一、简介 Nexus Repository Manager (NRM) 是一款由Sonatype开发的仓库管理工具,它可以帮助开发者管理和分发软件包及其依赖项。NRM支持多种格式,如Maven、npm、...
5. **启动与停止Nexus**:使用`sudo -u nexus /opt/nexus/bin/nexus start`启动Nexus,`sudo -u nexus /opt/nexus/bin/nexus stop`停止Nexus。 6. **配置端口和环境变量**:如果需要修改默认的8081端口或其他配置,...
Nexus是Sonatype公司开发的一款强大的仓库管理器,主要用于管理和分发Maven、npm、NuGet等不同构建工具的依赖库。在Linux环境下部署Nexus,可以为开发团队提供一个私有的Maven私服,便于控制软件组件的版本,提高...
Nexus是Sonatype公司开发的一款强大的仓库管理器,它广泛应用于Java、Python、npm、Conan等开源软件的依赖管理。Nexus不仅提供了一个集中化的存储库,还支持代理远程仓库、缓存依赖以及对软件包版本的严格控制。...
Nexus是一款强大的仓库管理器,由Sonatype公司开发,广泛应用于Java开发领域,尤其是Maven、Gradle等构建工具的项目。本教程将详细介绍如何搭建和使用Nexus私有仓库,帮助你更好地管理和分发你的软件组件。 一、...
Nexus提供了RestApi,但是一部分Api仍然需要结合Groovy等进行操作,在3.3及其以后的版本上进行了强化,但是和普通的RestApi相比仍有一些“使用上的特性”。这篇文章以创建raw的repository为例,来确认一下相关的使用...
Linux版的Maven私有仓库服务Nexus是一个强大的工具,尤其在Java开发环境中,它用于存储、管理和分发软件库组件。Nexus是Sonatype公司的一款产品,它提供了对Maven、Gradle和其他构建工具的强大支持,使得团队可以更...
Nexus是Sonatype公司开发的一款强大的 Maven、NuGet、npm、RubyGems、Pypi等软件包管理器,它提供了一种集中式的方式来管理和存储各种软件仓库中的组件。"nexus index"指的是Nexus仓库中的索引,这个索引包含了仓库...
Nexus3是由Sonatype公司推出的一款开源的Maven仓库管理工具,它为开发人员提供了稳定可靠的存储和分发Maven构件的环境。通过Nexus3,开发团队可以在本地网络中迅速访问所需的构件,从而显著提高构建过程的效率。 在...
Nexus是Sonatype公司开发的一款强大的仓库管理器,主要用于管理和分发软件组件,如JAR文件、NPM包、Python库等。它在Maven、Gradle等构建工具中广泛使用,尤其对于企业级开发环境而言,搭建私有Maven仓库(即“私服...
### Nexus 3.19.1 在 Linux 系统下的安装与配置 #### 一、简介 Nexus 是由 Sonatype 提供的一款开源仓库管理系统,主要用于管理各种类型的软件构件(如二进制文件、源代码等)。通过 Nexus,开发者可以方便地存储、...
Nexus是一款功能强大的仓库管理器,由Sonatype公司开发,主要应用于Java开发环境,特别是与Maven、Gradle等构建工具配合使用。本安装包"nexus-2.14.21"提供了在不同操作系统上搭建Maven私有仓库的解决方案,包括...
windows nexus3.7.1,jdk8,nexus3.7内置jre1.8,内置的jre在nexus第一次启动时初始化,解压zip, D:\Program Files\nexus-3.7.1-02-win64 nexus-3.7.1-02 sonatype-work (下载的文件会放到这个目录下) ...
### Gradle与Nexus完美结合 #### 一、Gradle简介 Gradle是一款基于Java的自动化构建工具,它采用了一种基于Groovy语言的特定领域语言(DSL)来定义项目设置,摒弃了Maven的XML配置方式。Gradle允许开发者使用...
Nexus是一款强大的Maven仓库管理器,它被广泛用于企业级的软件开发环境中,帮助团队管理和分发软件组件。源码包"nexus-2.2-01"提供了Nexus软件的源代码,这对于开发者深入理解其工作原理、自定义功能或进行二次开发...