Stackoverflow 上已经存在关于从 Gradle 发布预构建的 jar 到 Maven 的问题。但是,这略有不同:如何将预构建的 Jar 发布到 Maven 存储库,同时提供要包含在 pom.xml 文件中的依赖项?
我有一个在此脚本外部预先构建的 jar。我需要将此 jar 发布到我们的 Maven 存储库(Nexus)并在 pom.xml 中指定依赖项。我已经能够使用 artifacts 闭包将预构建的 jar 发布到 Maven 存储库,但它忽略了依赖项闭包。如果我添加 java 插件,那么 Maven 插件会创建一个带有依赖项的 pom,但会上传一个零字节的 jar 文件。我猜这是因为Java插件希望在src目录中编译和打包源代码,该目录中不存在该目录。
有没有办法可以将预先构建的 Jar“注入”到 Java 插件进程中,以便我可以将 jar 与依赖项一起上传?或者我错过了其他明显的东西?
当然,最好的办法是预先构建 Jar 的构建过程来概述其依赖项并上传到 Maven,但不幸的是,它是第 3 方软件,我们无法控制。
下面的脚本发布了一个零 kb 的 jar 文件...
apply plugin: 'java'
apply plugin: 'maven'
jar = file(projectHome + '/build/lib').listFiles()[0]
configurations {
archives
runtime
}
dependencies {
runtime 'org.apache.tika:tika-app:1.3'
}
artifacts {
archives jar
} …
Run Code Online (Sandbox Code Playgroud) 有人可以让我知道Jenkins和Nexus之间的关系.如果这是一个愚蠢的问题,我是这个领域的新手,请原谅我.
我在nexus 3中创建了代理repos,指向nexus 2托管的repos.这是在nexus2上快照和发布repos.现在,在distributionManagement标签上,iam使用代理URL并尝试执行"mvn clean deploy".我收到了错误
[INFO]部署工件时出错:无法传输文件:http://nexus3url/repository/m2-snapshots/path/abc-1.1.4-SNAPSHOT.pom.返回码是:405
有没有人试过这个.
谢谢
目前,我一直在设置Nexus 3.2,尤其是NPM存储库。我有一个代理存储库,指向registry.npmjs.org
我已成功发布到同一实例上的托管存储库,以及使用实例通过组存储库下载工件npm update -g
。
不幸的是,通过该小组下载范围内的项目无法正常工作,这对于进行Angular 2开发至关重要。当我尝试时,出现404错误:
brian$ npm install "@angular/common"
npm ERR! registry error parsing json
npm ERR! Unexpected token < in JSON at position 0
npm ERR! <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
npm ERR! <html><head>
npm ERR! <title>404 Not Found</title>
npm ERR! </head><body>
npm ERR! <h1>Not Found</h1>
npm ERR! <p>The requested URL /nexus/repository/npm_group/@angular/common was not found on this server.</p>
npm ERR! </body></html>
npm ERR!
npm ERR! A complete log of this run can be …
Run Code Online (Sandbox Code Playgroud) 我正在使用以下命令将旧工件上传到新的关系,因为它们无法重建。
mvn deploy:deploy-file
--settings=~/.m2/settings_att_nexus.xml
-DgroupId=com.org
-Dsources=someone-3.3.1-SNAPSHOT-sources.jar
-Djavadoc=someone-3.3.1-SNAPSHOT-javadoc.jar
-Dtestjar=someone-3.3.1-SNAPSHOT-tests.jar
-DpomFile=someone-3.3.1-SNAPSHOT.pom
-DartifactId=someone
-Dversion=3.3.1-SNAPSHOT
-DgeneratePom=false -Dpackaging=jar
-DrepositoryId=snapshots
-Durl=http://someurl:8076/nexus/content/repositories/snapshots
-Dfile=someone-3.3.1-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
所有必需的jar都已成功上传,但是someone-3.3.1-SNAPSHOT-tests.jar并未进入nexus,后者作为参数传递给带有以下标记的上述命令:
-Dtestjar=someone-3.3.1-SNAPSHOT-tests.jar
Run Code Online (Sandbox Code Playgroud)
有人可以一口气告诉Maven部署到test.jar上的正确标签是什么。
我的公司如何将罐子放入maven仓库,以便maven项目可以从内部访问它.
有人可以指点我一步一步的细节如何做到以下几点
使用Maven制作一个jar将jar安装到本地maven仓库中
我们在日常开发过程中生成RPM,我们将这些RPM部署到生产环境中.
所有这些RPM都将存储在本地yum存储库中,我们只需使用"yum install package"来安装任何RPM.
我们希望使用Artifactory或Nexus(仅OSS版本)来管理我们的包,因为它们都可以用作YUM存储库,我们首先尝试评估它们.
我首先安装了Artifactory OSS版本进行评估.
但是,当我尝试使用yum install安装该RPM时,我遇到了错误
http://artifactory-server:8080/artifactory/testrepo/repodata/primary.xml.gz: [Errno 14] HTTP Error 404: Not Found
Trying other mirror.
Error: failure: repodata/primary.xml.gz from artifactory: [Errno 256] No more mirrors to try.
Run Code Online (Sandbox Code Playgroud)
我确实理解了错误,它正在寻找该存储库中的元数据并且它不存在.
我确实看到了自动创建元数据的选项,但这似乎只适用于PRO版本.
这意味着我们不能将Artifactory OSS用作yum存储库吗?我认为应该有一种方法可以将它用作YUM repo,至少具有基本功能.我想我在这里遗漏了一些东西.
我的问题:
我上Redhat
,用jenkins
有Nexus Repository Manager OSS 2.12.0-01
.
我想要实现的是从nexus下载所有jar.什么,我已经完成了.成功安装nexus 2.12.0-01
这是我的maven的内容 setting.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active …
Run Code Online (Sandbox Code Playgroud)