我已经使用Maven将我的Maven工件(发布)成功部署到Sonatype的staging存储库中.
上传地址是https://oss.sonatype.org/service/local/staging/deploy/maven2/
我想知道在中央存储库中看到它们需要多长时间?
我开始注意到我的WD硬盘已满,并运行了一个大小:巨大的文件搜索.它出现了几个文件:
F:\SCOTT-SHARED-DESKTOP\My Documents\JPA_SPRING_STRUTS\.metadata\.plugins\org.maven.ide.eclipse\nexus\d9d714e11cb097b3ffcec91cccc65d3e_58.cfs
超过189,992 KB(189 MB)!
有人知道这些流氓吗?
我正在尝试访问需要一些基本身份验证的Nexus存储库管理器.从Maven2开始,一切正常,但是当我尝试在SBT中配置时,它找不到工件.它使用的是自定义存储库模式(请参阅此相关问题),但我认为这不重要.在任何情况下,相关配置都在这里.
Project.scala:
val snapshotsName = "Repository Snapshots"
val snapshotsUrl = new java.net.URL("http://nexusHostIp:8081/nexus/content/repositories/snapshots")
val snapshotsPattern = "[organisation]/[module]/[revision]-SNAPSHOT/[artifact]-[revision](-[timestamp]).[ext]"
val snapshots = Resolver.url(snapshotsName, snapshotsUrl)(Patterns(snapshotsPattern))
Credentials(Path.userHome / ".ivy2" / ".credentials", log)
val dep = "group" % "artifact" % "0.0.1" extra("timestamp" -> "20101202.195418-3")
Run Code Online (Sandbox Code Playgroud)
〜/ .ivy2/.credentials:
realm=Snapshots Nexus
host=nexusHostIp:8081
user=nexususername
password=nexuspassword
Run Code Online (Sandbox Code Playgroud)
根据SBT用户组中的类似讨论,这应该可以正常工作,但是当我尝试构建时,我得到以下内容.
==== Repository Snapshots: tried
[warn] -- artifact group#artifact;0.0.1!artifact.jar:
[warn] http://nexusHostIp:8081/nexus/content/repositories/snapshots/group/artifact/0.0.1-SNAPSHOT/artifact-0.0.1-20101202.195418-3.jar
Run Code Online (Sandbox Code Playgroud)
我相当肯定这是一个凭证问题,而不是别的因为我可以点击它说它正在尝试的URL并下载jar(在验证之后).
我也试过内联声明凭证(即使它不太理想),如下所示:
Credentials.add("Repository Snapshots", "nexusHostIp", "nexususername", "nexuspassword")
Run Code Online (Sandbox Code Playgroud) 我已将我的工件推送到oss nexus repo,将其作为依赖项添加到另一个项目中.想法让我警告:
[warn] Unable to reparse com.github.kondaurovdev#jsonapi_2.11;0.1-SNAPSHOT from sonatype-snapshots, using Fri May 13 17:12:52 MSK 2016 [warn] Choosing sonatype-snapshots for com.github.kondaurovdev#jsonapi_2.11;0.1-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
也许我以错误的方式以某种方式推送了神器?但我之前做过,一切都很好.如何摆脱这些警告?或者只是忽略它们?
我想提供一个简单的URL,它将始终返回最新版本的工件快照版本.简单来说,我的意思是URL不会改变,或者要求用户浏览目录并检查时间戳.
我正在运行Nexus 3.0.1-01,并使用它来托管Maven存储库和NPM注册表.对于NPM,我有一个本地镜像npmjs.org,一个本地NPM注册表和一个结合这两个...
我一直在内部使用npm,我可以使用npm-public组作为我的注册表,这一直很好.所以,我可以使用Nexus镜像npmjs.
下一步是使用本地编写的npm模块并将它们发布到npm-releases(在我的Nexus实例上),以便这些模块可以在这里的交付团队之间共享.我已经能够构建一个包,npm包似乎表现得很好.
我已经运行了npm adduser来为我的npm环境提供我的Nexus凭据.我使用的是当我登录Nexus网络应用程序时使用的用户名/密码,我的用户被分配了管理员角色(所以我应该拥有所有权限).我可以在.npmrc文件中看到凭据
我的注册表值仍然是组合镜像和本地注册表的npm-public 组.我已经确保我试图部署的模块的package.json有一个"publishConfig"部分,它指向本地注册表的url(不是公共组)
但是,尽管如此,调用"npm publish"会导致401错误...
查看npm-debug.log,我可以看到它正在尝试调用HTTP PUT调用将已组装的tgz文件推送到注册表,这会返回401错误
我已经在服务器中的shiro包上启用了调试日志记录,但我只看到一条消息认为它需要身份验证
2016-09-13 08:56:28,590+1000 DEBUG [qtp1257823896-4030] *UNKNOWN org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter - Authentication required: sending 401 Authentication challenge response.
Run Code Online (Sandbox Code Playgroud)
根据文档,我已经完成了我应该做的所有事情(npm添加用户)但是我无法将npm模块成功部署到我的本地存储库.
调用npm发布时我还需要使用其他选项吗?我需要对我的服务器中的托管npm存储库进行其他设置,以便我可以发布到它吗?我几乎使用默认值创建它.我是否错过了阻止我部署到托管的npm注册表的步骤?
任何帮助将不胜感激,因为我现在卡住了.
我们公司使用Maven.我们使用Nexus存储库管理器来存储我们的快照和版本.
目前,我们正在开发基于Eclipse的产品.我们用Tycho来做那件事.
问题如下:在我们基于Eclipse的产品中,我们有许多功能.我们的想法是分别构建每个功能(或功能组)并将它们放在内部p2存储库中.当一个功能需要另一个功能时,我们将目标平台指向必要的内部p2存储库.
目前,我们用Tycho构建应用程序.我们使我们的功能"可部署",因此Tycho生产了一个P2站点target
.我们将P2站点推送到我们的服务器,然后运行Eclipse FeaturesAndBundlesPublisher
,它将最近构建的功能与P2存储库合并.因此,我们有一个内部P2存储库,其中包含所有必需功能的版本.
我们发现这个过程太麻烦了.是否有像Nexus这样的工具,哪个更方便?
UPD .: 有关Tycho用户列表的讨论
我正在尝试使用nexus REST api来获取最新版本的maven工件.我能够浏览到我正在寻找的特定版本http://repo.local/service/local/data_index?a=local-turbogears-server&from=0&g=com.turbo&c=bin&v=1.1.9
,如果删除版本参数,我可以看到每个版本.但是,当我尝试使用RELEASE或LATEST作为版本时,它返回零结果.我在nexus中检查了磁盘上的maven-metadata.xml,并且有最新和发布的条目.我需要采取另一个步骤来返回最新版本吗?
我目前正在使用:
Nexus v.1.9.2
我从Nexus存储库中检出了我的代码.我更改了帐户的密码,并在我的settings.xml
文件中正确设置.执行时mvn install clean
我收到错误说它Not authorized, ReasonPhrase:Unauthorized
何时尝试从该存储库下载文件.
不知道如何解决这个错误?我正在使用Windows 7和Maven 3.04
是否有一些托管解决方案,无论是付费还是免费,为非公共工件提供显式的maven存储库托管,最好是支持?
这些是我所知道的替代方案:
但是,所有这些都需要一些维护开销,而不仅仅是使用存储库管理器(除了使用nexus)和/或不是真正完全支持的解决方案,或者不适用于闭源项目.
如果我需要一个可以在互联网上获得的解决方案,但它是"私人的",因为它应该仅供公司人员使用,还有其他替代方案吗?我假设没有服务器已经公开,所以只为maven工件托管提供一个新服务器似乎有点大.我有点惊讶我无法找到商业替代品.