Tag: nexus

有没有办法禁用本地maven存储库?

这可能听起来很疯狂但我们的开发人员都在同一台Linux机器上工作,这台机器也安装了nexus作为我们的maven repo。 实际上,每个人都会在〜/ .m2 /文件夹中找到人工制品,这些文件也会在nexus服务器中重复出现。 是否可以简单地告诉maven只看看nexus中的人工制品? 我/path/to/global/repo在我们的全局maven配置中设置了属性/path/to/global/repo ,但如果两个用户同时抓取同一个文件,则不确定这是否会导致问题。 我们之所以这样做是因为公司不会向我们购买function强大的工作站,所以我们都可以使用我们的开发服务器。

有没有办法让Maven构建独立于网络连接?

我正在持续集成环境中工作,部分自动构建过程包括Maven托管项目的编译。 我想知道的是,是否有办法使Maven构建独立于网络连接。 目前我们需要在存储库中安装所有需要的jar,但问题是Maven尝试检查插件更新,如果最终连接断开,则会导致构建失败。

如何使用现有的pom.xml将第三方文件发布到远程maven仓库?

我有一些第三方jar子,我想上传到我的nexus maven repo,到目前为止,我已经找到了两种方法。 使用Nexus GUI 使用http://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html上的说明 mvn deploy:deploy-file -DgroupId= \ -DartifactId= \ -Dversion= \ -Dpackaging= \ -Dfile= \ -DrepositoryId= \ -Durl= 我期待第三方库经常更新,当有安全更新/发布时,可能会更频繁地说四分之一。 上面两种方法都是手动的,你必须输入一个长命令或点击它来实现它。 我更喜欢一个不是特定产品或需要冗长命令行选项的简单解决方案。 是否可以编写maven pom.xml,只需通过mvn deploy发布第三方.tar.gz即可 我正在使用maven 3.0.5 更新根据下面的radai答案为我工作的示例pom.xml。

为什么快照名称的jar文件名中始终有日期? 如何删除它

当我部署jar时,maven总是在其文件名中添加日期,这使得文件名存储库与我本地的文件不同。 如何删除文件名中的日期? 谢谢

自动部署到sonatype的oss maven存储库

我有几个github java项目。 其中一个我手动部署到sonatype的存储库,以便它在maven中心发布。 这是一个有点痛苦的过程,因为它似乎涉及太多的箍以跳过和大量的手动工作,我想自动化。 所以我实际上已经停止这样做了,因为这只是太多的工作。 有大量的文档表明这是可能的,并且相当多的文档表明它以某种方式涉及使用nexus-staging-maven-plugin做一些事情。 不幸的是,所有这些文档都是(以典型的maven风格)跳过基本细节,这使我能够以简单的方式找出允许我自动将发布版本自动发布到sonatype存储库所需的最少步骤(即没有我手动批准的东西)。 那么,什么是我的pom中需要出现的模糊(假设一个标准的不复杂的java项目),包括sonatype存储库的url,我发现的所有文档似乎都坚持localhost:8081就是它,并且是必需的maven咒语让它做一个释放(最好通过mvn发布插件 ),让它签署工件,并让它将生成的工件部署到sonatype,批准,并准备好同步到maven central等。 所以,我正在寻找在ruby世界中替换“gem推”的maven,它可以在一个方便的单线上完成工作。 这是一个简单的例子,给出了一个由我批准的jar文件,我如何让它以最少量的大惊小怪结束在maven中心。 我非常感谢已经设置的pom文件的一些例子,我可以复制和改编。 编辑: 这是我工作的pom文件: 4.0.0 com.jillesvangurp jsonj 1.34-SNAPSHOT JsonJ A framework for working with json in Java the “proper” way. No mappings or model classes, it’s all just lovely json, but in Java. https://github.com/jillesvangurp/jsonj MIT license https://github.com/jillesvangurp/jsonj/blob/master/LICENSE repo git://git@github.com:jillesvangurp/jsonj.git scm:git:git@github.com:jillesvangurp/jsonj.git scm:git:git@github.com:jillesvangurp/jsonj.git sonatype-nexus-snapshots Sonatype Nexus […]

多个存储库的Maven设置

我在settings.xml中有以下内容 paid-jars jars with license http://url:8081/nexus/content/repositories/paidjars/ !central Org-central mirror of central http://url:8081/nexus/content/repositories/central/ central 在pom.xml中我有两个jar子 apache-commons.jar(我假设从中心下载) licensed.jar(我假设从付费jar子下载) 但是当我运行maven clean install它会尝试从Org-central下载licensed.jar。 如何让它使用付费jar子下载? 是否有可能首先进入Org-central,如果失败,它会尝试付费jar子? 如果是这样,怎么样? 我不想把repo条目放在pom.xml中 将Settings.xml Proxy true http username ****** host.url 8080 local.net|internal.com paid-jars jars with license http://url:8081/nexus/content/repositories/paidjars/ !central Org-central mirror of central http://url:8081/nexus/content/repositories/central/ central compiler C:\Program Files (x86)\Java\jdk1.7.0_51\bin

Eclipse启动错误

今天当我开始eclipse时,我收到以下错误消息: 在“更新索引”期间发生内部错误。 Java堆空间 当我检查日志时,有以下exception: !ENTRY org.eclipse.core.jobs 4 2 2011-06-14 13:44:26.546 !MESSAGE An internal error occurred during: “Updating indexes”. !STACK 0 java.lang.OutOfMemoryError: Java heap space at org.sonatype.nexus.index.updater.IndexDataReader.readUTF(IndexDataReader.java:132) at org.sonatype.nexus.index.updater.IndexDataReader.readField(IndexDataReader.java:122) at org.sonatype.nexus.index.updater.IndexDataReader.readDocument(IndexDataReader.java:96) at org.sonatype.nexus.index.updater.IndexDataReader.readIndex(IndexDataReader.java:63) at org.sonatype.nexus.index.updater.DefaultIndexUpdater.unpackIndexData(DefaultIndexUpdater.java:564) at org.sonatype.nexus.index.updater.DefaultIndexUpdater.loadIndexDirectory(DefaultIndexUpdater.java:252) at org.sonatype.nexus.index.updater.DefaultIndexUpdater.access$300(DefaultIndexUpdater.java:74) at org.sonatype.nexus.index.updater.DefaultIndexUpdater$LuceneIndexAdaptor.setIndexFile(DefaultIndexUpdater.java:815) at org.sonatype.nexus.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:995) at org.sonatype.nexus.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:159) at org.maven.ide.eclipse.internal.index.NexusIndexManager.updateRemoteIndex(NexusIndexManager.java:1085) at org.maven.ide.eclipse.internal.index.NexusIndexManager.updateIndex(NexusIndexManager.java:1025) at org.maven.ide.eclipse.internal.index.NexusIndexManager$1.run(NexusIndexManager.java:632) at org.maven.ide.eclipse.internal.index.IndexUpdaterJob.run(IndexUpdaterJob.java:71) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) !SESSION […]

Sonatype Nexus 3 – 获取最新快照

我们刚刚将nexus安装升级到最新版本(3.x)。 有没有办法获得给定快照工件的最新版本? Nexus 2有一个不错的API,不再支持。 同样的问题(但对于旧版本)已在这里得到解答: Sonatype Nexus REST Api获取最新的构建版本 任何想法都受到高度赞赏。 最好,丹尼尔

Maven没有使用本地存储库

我的Maven配置有一个小问题。 这里的所有其他问题和答案都没有解决我的问题,所以我开始一个新的问题。 我的问题是,我的Maven没有使用本地存储库。 它总是从远程存储库中获取工件。 下载工件或构建项目时,它安装在本地存储库中,因此路径是正确的。 问题是:当我构建一个SNAPSHOT项目时,它只安装在本地存储库中(应该是这样的,不希望每次都在我的nexus上发布它)。 当我构建另一个具有前一个项目的项目作为pom.xml中的依赖项时,maven想要从nexus服务器下载它没有找到它的工件,而不是从本地存储库中获取它。 这是我的maven配置: C:\Users\Marc\.m2\repository false false releases MY_USERNAME MY_PASSWORD 664 775 snapshots MY_USERNAME MY_PASSWORD 664 775 nexus MY_USERNAME MY_PASSWORD 664 775 nexussrv snapshots http://nexus/content/repositories/snapshots true always false releases http://nexus/content/repositories/releases true always false nexus http://nexus/content/groups/public nexussrv 从nexus和发布工件(SNAPSHOT和RELEASE)下载到nexus使用此配置,但它不使用本地存储库中的工件。 谢谢你的帮助!

使用不同的设置将Maven工件部署到多个存储库

我们有许多Java项目,它们是使用Jenkins构建的CI。 这些部署到我们自己的Nexus服务器就好了。 问题是,我们需要将这些库提供给第三方,但没有源代码。 因此,对于每个项目,在Nexus中我们有: 发布我们开发人员的存储库(包括已部署的源代码) 我们开发人员的快照存储库(包括已部署的源代码) 第三方发布存储库(仅限JAR + POM) (并且很高兴): 第三方快照存储库(仅限JAR + POM)用于第三方夜间构建 问题是:在Jenkins / Nexus世界中,这通常是如何处理的? 我宁愿在Jenkins中有一个单独的Job,它可以“自动”处理CI构建和发布(artefact部署)过程。 目前我在“main root pom.xml”中使用了多个配置文件(包含在所有项目中): […] default releases Release http://path/to/nexus/content/repositories/releases/ snapshots Snapshot http://path/to/nexus/content/repositories/snapshots/ false third-party releases Release http://path/to/nexus/content/repositories/third-party/ snapshots Snapshot http://path/to/nexus/content/repositories/third-party-snapshots/ false 在Maven文档中,似乎无法在同一构建生命周期中使用多个存储库,更不用说我们需要/不需要基于目标repo的源。 我可以使用Maven“目标和选项”在Jenkins中创建一个Job,然后使用“默认”数据clean deploy -P third-party ,然后添加Post-build操作 – “将工件部署到Maven存储库” – 但在这种情况下,只有SNAPSHOT会同时通过Jenkins Maven Release Plug-in发布的repo和artefacts只进入一个存储库。 任何实用的想法如何在不过度复杂CI作业层次结构的情况下实现这一目标? 提前致谢!