我为一些开源运行我自己的小Maven仓库.我没有专用服务器,所以我使用谷歌代码库,部署到文件系统,然后提交和推送.适合我的作品.
但是一些Maven工具正在寻找a nexus-maven-repository-index.properties
和索引(在GZ中).我想生成这个索引
我怎样才能做到这一点?是否有能够生成索引的工具(Java main)?还提示如何使用适当的Nexus Jars和一些命令行工具.
我正在为Maven部署一个Nexus存储库,并在其上部署自定义原型.
我想执行 mvn archetype:generate
并提示内部+自定义原型列表.
我发现提示自定义原型的唯一方法(以符合人体工程学的方式,即没有URL)是将原型 - 目录路径定义为设置中的属性.这不是一个有效的解决方案,因为我想要几个目录(并且在CLI中不能覆盖此属性).
有没有人知道如何做到这一点?
提前致谢,
[编辑]我发现了一个相关的问题报告:http://jira.codehaus.org/browse/ARCHETYPE-273
我注意到,在期间archetype:generate
,maven试图到达中央存储库:
[DEBUG] Searching for remote catalog: http://repo1.maven.org/maven2/archetype-catalog.xml
[DEBUG] Searching for remote catalog: http://repo1.maven.org/maven2
Run Code Online (Sandbox Code Playgroud)
它以"连接超时"结束,因为我没有(也不想)指定代理...
我不明白为什么maven不检查nexus目录...
我想知道Nexus存储库管理器是否包含像Artifactory这样的许可证管理器(使用此插件:http://wiki.jfrog.org/confluence/display/RTF/License+Control).
如果通过插件无法在Nexus中执行此操作,您如何管理项目依赖项的许可证(使用maven)?
例如,对于商业项目,我不能将GPL库包含到最终工件(.jar,.war等)中.
我理解它的方式,Nexus负责存储通过其pom引用其他依赖JAR的JAR文件.反过来,原始JAR文件也可以用作依赖项.
但是,我们应该在Nexus中存储发布工件吗?这些文件永远不会被用作依赖项.它们包括jar-with-dependencies,WAR文件,zip/tar.gz文件等.什么是存储它们的正确位置?
像http://archive.apache.org/dist/这样的简单文件系统HTTP服务器似乎是正确的想法.但是Nexus确实只是一个经理人.
目前,我们远程拥有一个nexus托管存储库(位于不同的地理位置).我们在本地托管存储库中有一个local-proxy-repository.
每当将几个文件的新版本添加到remote-hosted-repository时,对构建系统中新添加的文件的第一个请求就是将其下载到local-proxy-repository.
我现在遇到的问题是,添加的一些文件非常庞大(比如大约400 MB).因此,第一次构建会耗费大量时间来完成.
有没有办法我们可以在远程托管存储库上进行轮询并自动镜像它?
我正在考虑用nexus-staging-maven-plugin替换maven-deploy-plugin.
现在我的项目的一些子模块(例如集成测试模块)不会部署到Nexus服务器.我曾经通过"maven.deploy.skip"属性禁用这些模块的部署.但是,我找不到与nexus-staging-maven-plugin类似的东西.是否有另一种方法可以使用此插件从部署中跳过单个模块?
我也试着插件结合所描述的伪相"无" 在这里,但检查有效POM,还有插件(我认为它是如何替换的方式是由于所注射执行现有的部署插件).
根据Nexus的书,托管存储库是"由Nexus托管的存储库".并且第三方存储库(托管存储库)应该用于公共Maven存储库中不可用的第三方依赖项.
托管存储库和代理存储库之间有什么区别?例如,JBoss版本被引用为代理存储库.为什么JBoss不发布第三方存储库?将其定义为托管存储库或代理存储库是否真的重要?
如何通过curl
Nexus 3 上传jar ?我尝试使用链接提示但没有成功.
以下是我的尝试:
curl -v -F r = -F releases hasPom = true and = -F jar -F file = @. / v12.1.0.1 / pom.xml -F file = @. / v12.1.0.1 / ojdbc7.jar -u admin: admin123 http: // localhost: 8081 / repository / maven releases
curl -v -F r = -F releases hasPom = false -F and -F jar = g = com.oracle.jdbc -F = ojdbc7 -F v = 1.0 p = -F jar …
Run Code Online (Sandbox Code Playgroud) Nexus 2.x有一个REST API来下载如下所示的工件,但不再适用于Nexus 3.x.
wget "http://local:8081/service/local/artifact/maven/redirect?g=com.mycompany&a=my-app&v=LATEST" --content-disposition
在Nexus上,API是否已更改为其他内容3.0.0-03
?
nexus ×10
maven ×6
repository ×3
java ×2
nexus3 ×2
artifactory ×1
jar ×1
licensing ×1
sonatype ×1