问题标签 [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.

0 投票
1 回答
468 浏览

maven-2 - 限制本地 Nexus 存储库访问 Central

我们计划向开发人员发布我们的公司关系存储库。手头的问题是,我们希望对可以从存储库下载的 jar 版本强制执行标准。例如,如果我们已经在 nexus 中提供了 Spring 框架版本 3 作为组织标准,那么除非得到技术架构师的批准,否则开发人员不能使用 nexus 下载最新版本的 spring eg 3.3。

可以说没有办法做到这一点,因为开发人员可以直接指向中心并下载 jar。但是这种情况将在每日 hudson CI 构建中处理,该构建仅使用来自 nexus 的 jar。

我们最初的建议是使用同意的库版本设置 nexus,然后更改 nexus 代理设置,使其无法到达中心。还有比这更好的主意吗?

0 投票
1 回答
998 浏览

java - Nexus/Maven 可以同时存储 32 位和 64 位工件吗?

我目前正在使用Nexus作为工件存储库管理器。工件通过运行Hudson的构建机器自动部署到 Nexus 。构建机器是 64 位的,而我的开发机器是 32 位的。

我想创建一个 32 位构建从站,它会自动构建我们代码的 32 位版本(例如,使用 JNI 的代码)。Nexus 有没有办法同时存储 32 位和 64 位工件?

目前,在我看来,“最后一次构建获胜”,例如,如果我在 32 位机器上构建快照项目,然后在 64 位机器上构建,则项目尝试下载的工件的 64 位版本。

0 投票
2 回答
13201 浏览

maven-2 - 通过 Maven 将整个目录上传/下载到 Nexus

是否可以将整个目录及其中的所有子目录上传/下载到/从 Nexus 存储库服务器?

0 投票
1 回答
1141 浏览

maven-2 - Maven 在下载快照工件时在工件名称中添加“-windows”

我在本地 Nexus Maven 存储库中添加了一堆工件。
当我构建我的项目时,我收到以下错误:

[INFO] 正在扫描项目...
[INFO] -------------------------------------------------- ----------------------------------
[INFO] 构建 pronto-web Java EE 6 Webapp
[INFO] 任务-段:[验证]
[INFO] ------------------------------------------ ------------------------------
[INFO] [resources:resources {execution: default-resources}]
[WARNING] 使用平台编码(实际上是 Cp1252)复制过滤的资源,即构建依赖于平台!
[INFO] 复制 4 个资源
[INFO] [compiler:compile {execution: default-compile}]
[WARNING] 文件编码尚未设置,使用平台编码 Cp1252,即构建依赖于平台!
[INFO] 将 1 个源文件编译到 C:\Source\Pronto\pronto\pronto-web\target\classes
[INFO] [antrun:run {execution: remove-javax}]
[INFO] 执行任务
[INFO] 执行任务
[ INFO] [gwt:compile {execution: default}]
[INFO] 使用来自项目依赖项的 GWT jar:20100714-SNAPSHOT
[警告] 您不应将 gwt-dev 声明为项目依赖项。这可能会引入复杂的依赖冲突
下载:http://mercury:8980/nexus/content/groups/public-snapshots/com/google/gwt/gwt-dev/20100714-SNAPSHOT/gwt-dev-20100714-20100715.053026-1- windows.jar
[信息] -------------------------------------------- ----------------------------
[错误] 构建错误
[信息] --------------------------------------------- -------------------------
[INFO] 工件未找到 - 无法在存储库中找到资源

尝试从项目网站手动下载文件。

然后,使用以下命令安装它:
mvn install:install-file -DgroupId=com.google.gwt -DartifactId=gwt-dev -Dversion=20100714-20100715.053026-1 -Dclassifier=windows -Dpackaging=jar -Dfile=/path/到/文件

或者,如果您托管自己的存储库,您可以在那里部署文件:
mvn deploy:deploy-file -DgroupId=com.google.gwt -DartifactId=gwt-dev >-Dversion=20100714-20100715.053026-1 -Dclassifier=windows -Dpackaging =jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

com.google.gwt:gwt-dev:jar:20100714-20100715.053026-1

从指定的远程存储库:
发布(http://mercury:8980/nexus/content/groups/public)、
全部(http://mercury:8980/nexus/content/groups/all)、
快照(http://水星:8980/nexus/content/groups/public-snapshots

http://mercury:8980/nexus/content/groups/public-snapshots/com/google/gwt/gwt-dev/20100714-SNAPSHOT/gwt-dev-20100714-20100715.053026-1-windows.jar
[信息] -- -------------------------------------------------- --------------------
[INFO] 有关更多信息,请使用 -e 开关运行 Maven
[INFO] ------------- -------------------------------------------------- ---------
[INFO] 总时间:8 秒
[INFO] 完成时间:Thu Jul 15 08:57:29 CEST 2010
[INFO] Final Memory: 50M/614M
[INFO] ----- -------------------------------------------------- -----------------

有谁知道为什么 maven 认为应该在工件名称中添加“-windows”?(下载:http://mercury:8980/nexus/content/groups/public-snapshots/com/google/gwt/gwt-dev/20100714-SNAPSHOT/gwt-dev-20100714-20100715.053026-1-windows.jar)

如果我浏览存储库,它包含工件但没有“-windows”后缀。

这个工件的旧版本是平台相关的,并且有“windows”或“linux”或“mac”作为分类器,但最近的版本是平台独立的,我的 poms 中没有任何这样的分类器。

PS:我在协议和冒号之间的每个 URL 中添加了一个空格,因为我还没有获得足够的声誉来发布链接。

0 投票
1 回答
789 浏览

maven-2 - Maven - 如何/在哪里发布工件

我已经开源了我的一些项目。我想在一个共同的地方发布工件。如果我不必托管自己的存储库,那将是理想的,否则我将不得不设置自己的 Nexus 实例(或您推荐的其他存储库)。

我可以将工件发布到 Maven Central 吗?我需要遵循什么流程才能让他们到达那里?

0 投票
3 回答
132632 浏览

java - 如何指定maven的distributionManagement组织范围?

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

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

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

通常我在所有文档中都读到模块 pom 应该使用父 pom,而不是其他的。但是在阅读了有关继承与聚合的 maven 网站后,它写道确实是可能的。

我发现的一个问题是 maven 站点生成,它似乎确实存在此设置的问题(如果模块没有直接反向引用,则无法正确链接)

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

0 投票
1 回答
1919 浏览

maven-2 - Nexus 中的发布存储库策略是否确保 jar 永远不会更改?

我正在将 Nexus OSS 部署为公司内部存储库。主要要求之一是,一旦 Nexus 下载了一个 jar(例如,当使用 is 作为 Maven Central 的代理时),它就永远不会改变。我知道 Maven Central 有该政策,但我正在使用不受我控制的其他存储库,我必须在我这边验证该要求。

发布存储库策略是否确保一旦将 jar 下载到该存储库中,它就永远不会更改?

存在这样的要求是为了确保我们可以回到 1.5 年前创建的产品版本,并确保产品使用的存储库工件在现在构建时是相同的。

0 投票
1 回答
231 浏览

maven-2 - Sonatype Nexus 可以在提交后发布索引吗?

我们有一个 Nexus 存储库,其中包含我们的软件(惊喜......)。在我们的 IDE 中,我们添加了存储库,因此我们可以以可视方式浏览它们。

问题:IDE 使用当前每晚更新的 .index 文件夹(及其 gz 文件)。

我想要的是:如果有人添加了工件, .index 应该会自动更新。那可能吗?

我不想要的是:让索引每隔几分钟更新一次。

0 投票
3 回答
1833 浏览

deployment - 使用 Leiningen 推送到 Nexus

我使用 Leiningen 编写了一个 Clojure 项目,现在想将生成的 jar 添加到 Sonatype Nexus 服务器。我安装了 lein-clojars,因为它带有一个命令,如果你想推送 Clojars 之外的某个地方push,它似乎可以接受一个可选参数。repo但是,每当我尝试这个时,我都会得到一个JSchException: Auth fail. 这似乎表明某处存在身份验证问题。

我能够将 jar scp 到 Nexus,并且我还能够使用与 Maven 相同的 settings.xml 上传到这台机器,所以我相当有信心这些都是正确的。

有没有什么好的方法可以使用 Leiningen 推送到其他存储库?还是真的只为 Clojars 构建?

0 投票
2 回答
1508 浏览

maven-2 - Nexus + Maven + Hudson 的发布问题

在 Hudson(1.368) 上使用 Maven 的发布插件时,我收到一个错误,即我的 distributionManagement 部分在我们的 Nexus Maven 存储库管理器的部署阶段丢失。如果我在不使用发布的情况下部署它就可以了,所以不应该是服务器、部分或设置的错误配置。

值得注意的是,我的公司对 Hudson 使用了不同的 pom 文件,并且对它们进行了不同的命名。还有各个项目目录中的 settings.xml。这从来都不是问题,因为 Hudson 允许指定 pom 的名称以及设置文件的位置和名称。

我注意到上述内容的原因是,当将 distributionManagement 移到常规 pom.xml 中时,它确实找到了它(但仍然无法正常工作,因为它在设置文件中缺少用户名和密码)。这让我很困惑,因为对于发布过程的前面部分,它使用了正确的 pom 和设置。只是后来似乎忘记了他们。这里发生了什么?

先感谢您。

更新
maven 发布插件似乎启动了一个新的 maven 实例,它似乎使用默认的 pom.xml 而不是我们不同命名的 pom。需要更多的测试。