我在尝试向 Sonatype 发布新版本软件时收到错误。我已成功完成mvn release:prepare
,但当我这样做时,mvn release:perform
出现以下错误:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:52.660s
[INFO] Finished at: Fri Feb 14 22:32:52 EST 2014
[INFO] Final Memory: 28M/263M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project flexjson: Failed to deploy artifacts: Could not transfer artifact net.sf.flexjson:flexjson:jar:3.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/net/sf/flexjson/flexjson/3.2/flexjson-3.2.jar. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of …
Run Code Online (Sandbox Code Playgroud) 我想为我的模块的 .aar 文件定义 gradle 依赖项,该文件已上传到 nexus 存储库上。现在我试图将同一个 .aar 文件的依赖关系声明到我的 android 应用程序的 gradle 文件中,但无法从 Nexus 存储库中获取 .aar 文件。
我在 android 应用程序的 build.gradle 文件中使用以下条目:
buildscript {
repositories {
jcenter()
maven {
url 'https://MY_COMPANY_DOMAIN/nexus/content/repositories/MY_PROJECT-Releases/'
}
}
}
dependencies {
compile 'GROUP_NAME:FILE_NAME:VERSION_NUMBER'
}
Run Code Online (Sandbox Code Playgroud)
构建我的项目后,我收到以下错误:
"Error:Could not find GROUP_NAME:FILE_NAME:VERSION_NUMBER.
Required by:
PROJECT_NAME:app:unspecified
<a>Search in build.gradle files</a>"
Run Code Online (Sandbox Code Playgroud)
注意:在我的例子中,Nexus 存储库是安全的,我们需要使用凭据来访问该存储库。我认为,我们还需要在 gradle 文件内的某个位置指定身份验证数据。请建议我,我们如何在 gradle 中定义身份验证部分以从 Nexus 存储库获取 .aar/.jar 文件。
谢谢,苏梅特。
Gradle 无法通过 Nexus Repository 解决依赖关系,因为工件可以通过浏览器下载。我有以下错误
错误:找不到 ecj.jar (org.eclipse.jdt.core.compiler:ecj:4.6.1)。在以下位置搜索: http://infynexus/nexus/content/groups/Manoj.P04/org/eclipse/jdt/core/compiler/ecj/4.6.1/ecj-4.6.1.jar
但是这个jar可以在浏览器中下载 Chrome Screenshot
构建.gradle
Run Code Online (Sandbox Code Playgroud)buildscript { repositories { maven { credentials { username mavenUser password mavenPassword } url 'http://infynexus/nexus/content/groups/Manoj.P04/' } } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { maven { credentials { username mavenUser password mavenPassword } url 'infynexus/nexus/content/groups/Manoj.P04/' } task clean(type: Delete) { delete rootProject.buildDir } } }
gradle.properties …
我有一个 Web 项目,在 jenkins 上成功构建后,我将其部署到 Nexus 存储库。目前在项目中,pom.xml
我有以下配置,其中 Nexus 存储库的主机和端口是硬编码的:
<profiles>
<profile>
<id>deploy-snapshot</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<distributionManagement>
<snapshotRepository>
<id>snapshots</id>
<name>Repository for snapshots</name>
<url>http://ip1:port1/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)
我的目标是覆盖 jenkins 中的 nexus url,而不对 pom.xml 进行任何更改,因为目前 pom.xml 中的配置用于另一个无法重新配置的环境。
考虑到将来我将为负责部署 npm 包的其他工作做类似的事情,最好知道可以在 jenkins 上以哪种方式完成。
我研究了以下 jenkins 插件https://wiki.jenkins.io/display/JENKINS/Nexus+Artifact+Uploader,但不确定这是否是真正的插件,也不确定该插件是否适合 zip 存档npm 构建。
是否应该可以在不使用 Maven 的情况下将工件(WAR 文件)上传到 Nexus 3 存储库?
我最近将一个 java 组件迁移到 kotlin。到目前为止,当我使用maven发布插件时,它也自动生成了javadoc,并且也上传到了oss.sonatype.com。另一方面,Dokka 似乎没有与开箱即用的发布插件集成。结果,上传到 oss.sonatype.com 后,nexus 拒绝发布并出现验证错误,因为 javadoc jar 丢失。
dokka 是否与 Maven 发布插件集成?
上下文:我没有 Nexus 存储库的 UI 访问权限,但我可以访问配置了 Nexus 存储库访问权限的 Jenkins。我的 git 存储库中有一个阴影 jar,需要使用 maven 直接上传到 nexus 存储库,而不需要 pom.xml 或 settings.xml 文件。
问题:如何使用 Jenkins 和 maven 插件将 git repo 中的 jar 上传到 nexus 存储库?
我尝试搜索这个特定的用例,但无法找到解决方案。
我有一个使用 Nexus 的私人 PyPi 注册表。我可以从我的主机发布/安装,没有任何问题(我的个人包以及通过 PyPi nexus 代理的常见包)。当我尝试使用 Dockerfile 构建 docker 映像时,它既允许我安装自己的包,也不允许通过 Nexus 代理注册表安装公共包(但我仍然可以从公共公共注册表https://pypi.org/安装公共包)。
Dockerfile(部分)
RUN pypy3 -m pip install --index-url https://username:password@host/repository/pypi-proxy/ flask
RUN pypy3 -m pip install --index-url https://username:password@host/repository/pypi-private/ my
Run Code Online (Sandbox Code Playgroud)
错误
Collecting flask
ERROR: Could not find a version that satisfies the requirement flask (from versions: none)
ERROR: No matching distribution found for flask
Run Code Online (Sandbox Code Playgroud)
我看到 DNS 存在问题,但我可以从中安装,https://pypi.org/
所以情况并非如此。
目前,我们的 Nexus 会整理 SNAPSHOT,但即使存在发布版本,也始终会留下最后的 SNAPSHOT。原因是:
versions:use-releases
只能将现有的SNAPSHOT 版本替换为发布版本。我不喜欢的是快照占用了磁盘上数百 GB 的空间,尽管它们大多毫无用处。
在几年前退役的 Ant 系统中,不存在的“SNAPSHOT”已针对发布版本进行了解决。这解决了上述困境,但在 Maven 中是不可能的。
还有其他好的解决方案吗?
Nexus 和 Artifactory 的解决方案都很受欢迎。
我正在尝试在 Next.js API 路由中运行 graphql。
我正在使用 Nexus 来编写 graphql 模式。这是两个文件context.ts
和schema.ts
用于设置nexus开发模式的文件。
// context.ts
import { database } from "../loaders/database";
import { PrismaClient } from "@prisma/client";
export interface Context {
database: PrismaClient;
}
export const context: Context = {
database,
};
Run Code Online (Sandbox Code Playgroud)
// schema.ts
import { makeSchema } from "nexus";
import { nexusPrisma } from "nexus-plugin-prisma";
import { join } from "path";
import * as types from "./types";
export const schema = makeSchema({
types,
plugins: [
nexusPrisma({
prismaClient: (ctx) …
Run Code Online (Sandbox Code Playgroud)