问题标签 [nexus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven-2 - 无法从 Nexus 获得正确的包裹?“mvn帮助:有效设置”中的错误
我使用nexus开源版本maven 2.2.1
当我输入“mvn help:effective-settings”时,出现以下错误
当我检查 ~.m2\repository\org\apache\maven\plugins\maven-help-plugin 下的本地存储库时
它有一个文件 maven-metadata-central.xml
而且我在目录下找不到任何 jar 文件,nexus 服务器有什么问题?我无法轻松地从 nexus 找到支持信息。
任何提示
maven-2 - maven 的 buildNumber 元数据如何在多个构建代理之间变得不一致?
我们最近在我们的构建环境中添加了第二台构建机器,并且开始遇到非常奇怪的偶尔构建失败。
我有两个单独的 Maven 构建机器A和B,每个都运行 Maven 2.2.1 并与共享的 Nexus 1.5.0 存储库管理器通信。我的问题是,在B上构建偶尔会失败,因为它拒绝下载以前由A构建并上传到 Nexus的常见依赖项“ acme-1.0.0-SNAPSHOT ”的较新版本。
查看两台机器上的本地存储库,我注意到存储库元数据中有一些奇怪之处。
机器A的 acme\1.0.0-SNAPSHOT\maven-metadata-nexus.xml:
机器B的 acme\1.0.0-SNAPSHOT\maven-metadata-nexus.xml:
在 Nexus 的 acme/1.0.0-SNAPSHOT/maven-metadata.xml 中:
如果我正确解释元数据文件(在线文档很少),机器B似乎认为它具有更新版本的acme依赖项(基于 buildNumber),尽管机器A上次构建它是在机器B 6 天后完成的(基于时间戳)。Nexus 似乎也不知道普遍正确的 buildNumber。
这种情况怎么可能出现?我可以做些什么来防止我的构建由于元数据不一致而失败?你有过类似的经历吗?
重要笔记:
- 两台构建机器都有 settings.xml 文件,其中 updatePolicy 是“始终”。
- Nexus 确实具有由A构建的更新版本的acme。B只是拒绝下载它。
- A和B是唯一上传到 Nexus 的机器。
- 两台服务器共享相同的系统时间。
- 所有涉及的进程都具有对元数据文件的写入权限,以便可以根据需要对其进行更新。
- 我找不到任何描述此行为的开放 Maven 或 Nexus 问题。
- 我们的 CI 服务器 (Atlassian Bamboo) 防止构建相同的工件同时发生,因此在上传到 Nexus 时出现一些竞争条件是不太可能的。
tomcat - 在 Gentoo (log4j) 上将 Sonatype Nexus 部署到 Tomcat6 时遇到问题
我在 Gentoo 上运行一个 tomcat-6 服务器。我无法将 Nexus 部署到我的 tomcat 服务器(来自 sonatype 网站的 nexus-war,以及通过emerge 的 tomcat6)。启动 Nexus 时,localhost 日志显示以下内容:
出于某种原因,它会在 /dev/null 中查找 sonatype-work 文件夹。我一直无法找到解决此问题的方法。log4j.properties 位于 /var/lib/tomcat-6/webapps/nexus-webapp-1.6.0/WEB-INF/log4j.properties 并包含以下内容:
以前有人处理过这个吗?任何帮助是极大的赞赏。
maven-2 - 一些 sonatype 关系问题
我在 LAN 中部署了 sonatype nexus 服务器,将一些远程存储库映射到我的公共存储库:
替代文字 http://img576.imageshack.us/img576/5517/7875d01884ad4234a5b02e2.png
第一个问题是,为什么这些存储库不与“真实”存储库同步?例如,我将 maven central ( http://repo1.maven.org/maven2 ) 映射到“central”,但是当我浏览http://smallufo:8081/nexus/content/repositories/central/org/springframework/时,包不完整,在http://repo2.maven.org/maven2/org/springframework/中,有大量的工件,但我只有其中一些:
替代文字 http://img63.imageshack.us/img63/6163/31beec445d6b4e9eb96beba.png
并且版本很旧......例如:spring-core 只有 2.5.6.SEC01 ,但最新版本是 3.0.2.RELEASE。而我的 maven 客户端似乎只能找到旧的工件... alt text http://img199.imageshack.us/img199/3872/maven.gif
“central”是一个代理目录,应该和远程服务器一样。我试图“过期缓存”、“重新索引”、“增量重新索引”整个“中央”: 替代文本 http://img23.imageshack.us/img23/8467/391bd49409c94aa58640afe.png
经过很长时间几乎 100% 的 java 进程负载,情况似乎并没有好转,只是添加了一些工件......没有反映真正的“Maven Central”数据......
第二个问题,“Expire Cache”、“ReIndex”、“Incremental ReIndex”有什么区别?
即使我可以“搜索” spring-core.3.0.2.RELEASE ,我的 m2eclipse 仍然找不到它: alt text http://img217.imageshack.us/img217/9360/18c15abab4f343b0848a819.png
我还可以在“索引”中看到 spring-core-3.0.2.RELEASE,(但在“存储”中不可用): alt text http://img268.imageshack.us/img268/7041/maven2.gif
但是为什么 m2eclipse 不能使用它呢?似乎m2eclipse只能在存储中安装工件,如果这是nexus的工作方式,我该如何“强制”下载spring-core-3.0.2.RELEASE到nexus的存储?
我该如何解决这些奇怪的不兼容问题?非常感谢 !
- 更新 -
似乎 m2eclipse 和 maven-3.0-beta1 有问题。
在我改回 maven 2.2.1 后,现在一切正常。
对不起,打扰了。
build - 常春藤和快照(Nexus)
我正在使用 ant、ivy 和 nexus repo manager 来构建和存储我的工件。我设法让一切正常:依赖解析和发布。直到我遇到问题......(当然!)。
我正在发布到 nexus 中的“发布”存储库,该存储库被锁定为“禁用重新部署”(即使您将设置更改为“允许重新部署”(在 imo 那里真的很蹩脚的 UI)。你可以想象我当时有多生气在我意识到发生这种情况之前,我的更改并没有通过 repo 更新。
无论如何,我现在必须切换所有内容以在 nexus 中使用“快照”存储库。问题是这弄乱了我的发布。我尝试了很多东西,包括广泛的谷歌搜索,但什么都没有。我得到的错误是一个错误的 PUT 请求,错误代码 400。
有这个工作的人可以给我一个关于我缺少什么的指针。
非常感谢,
阿拉斯泰尔
仅供参考,这是我的配置:
请注意,我已经删除了任何让快照工作的尝试,因为我不知道什么是实际(可能)有用的,什么是完全的胡说八道。因此,这是仅工作版本的设置。
另外,请注意我添加了 XXX-API ivy.xml 仅供参考。我什至无法发布 xxx-common(甚至没有依赖项)。
蚂蚁任务:
几个 ivy 文件给出内部依赖的概念:
XXX-普通项目:
XXX-API 项目:
常春藤设置.xml:
maven-2 - 使用 Maven 在 Nexus 中自动上传工件
我正在尝试自动化将 Maven 生成的工件上传到 Nexus 托管存储库的过程(如 maven 目标,它将生成的 jar 上传到 Nexus 中的指定存储库)。这可能吗?在 Nexus 文档中,他们只讨论了手动上传。
我还查看了 nexus maven 插件,并没有指定类似的内容。
提前致谢
maven-3 - 如何使用 nexus/maven 将依赖项添加到 3rd 方库
我正在尝试专业地使用 Nexus + m2eclipse/maven-3,而且我有一个庞大的 3rd 方库,需要很多依赖项。
有什么方法可以通过将这个第三方库上传到 Nexus 来减轻我的痛苦,并且所有依赖项都链接在一起,这样任何需要它的人都只需要为这个庞大的库添加 maven-dependency-tag 吗?
我需要自己创建 pom 吗?
感谢您的帮助。
java - 如何从公司防火墙后面使用新的 JBoss Maven 存储库?
我依赖于Hibernate 3.5.3,它只能从新的JBoss Maven 存储库中获得,它托管在Sonatype的Nexus上,并且所有 URL 都使用 HTTPS 保护。
我可以通过 Web 浏览器从公司防火墙后面访问此存储库。但 Maven 无法解析工件。
我在构建开始时看到以下警告:
我希望在 global settings.xml 的部分中添加以下内容应该对我有用:
但这对我不起作用。
在我的 pom.xml 中,我声明了以下存储库依赖项:
我被限制使用 Maven 2.0.8,但我已经检查过,它也不适用于 Maven 2.2.1。
maven-2 - 首次在 Nexus 中部署工件
当我们第一次尝试在 nexus 存储库中上传我们的工件时,我收到以下错误
我仔细检查了我的 nexus 用户名和权限,并根据 maven settings.xml 中指定的用户名和权限对其进行了验证,发现它们是正确的。还有什么我可能会丢失的吗???
maven-2 - Nexus 存储库包含工件,但仅使 POM 可用
我有一个 Nexus 实例,其 Maven 2 存储库托管在未连接 Internet 的公司开发域上。我需要使用 Sun 的maven-jaxb-schemagen插件,但是,它只能以 Maven 1 格式提供(以及许多其他 Maven 1 依赖项,因此这不是一次性的极端情况)。
我在 Nexus ( maven1 ) 中创建了一个新的 Maven 1 托管存储库,然后也创建了一个 Maven1-to-Maven2 虚拟存储库 ( maven1as2 )。因为一些所需的工件是快照,所以maven1(以及扩展名maven1as2)的策略是Snapshot。
我通过文件系统将所有 Maven 1 工件导入到此存储库的覆盖本地存储位置。
然后我将maven1as2添加到我的公共存储库组中。我发现的一些参考资料说 Nexus 不允许您浏览或搜索 Maven1 存储库。我的结果好坏参半。如果我在 Nexus 中选择Public Repositories或maven1as2,我可以转到Browse Storage并向下钻取到com/sun/tools/jxc/maven2/maven-jaxb-schemagen-plugin/1.3-SNAPSHOT/并查看maven-jaxb-schemagen -plugin-1.3-SNAPSHOT.pom文件及其校验和。但是,我无法查看应该存在且位于文件系统上的JAR工件。
当我尝试使用 Maven 构建时,我得到以下信息: