[ https://issues.apache.org/jira/browse/MPLUGIN-524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17893788#comment-17893788 ]
Alvaro Sanchez-Mariscal commented on MPLUGIN-524: ------------------------------------------------- [~cstamas] it is false that this is caused by a missing prefix. I've always had a [prefix|https://github.com/micronaut-projects/micronaut-maven-plugin/blob/4.7.x/micronaut-maven-plugin/pom.xml#L155]. On [Central|https://repo1.maven.org/maven2/io/micronaut/maven/maven-metadata.xml] there is a prefix (although different?), whilst on [s01|https://s01.oss.sonatype.org/content/repositories/snapshots/io/micronaut/maven/maven-metadata.xml] there isn't. Regarding the Nexus Staging plugin, I think we all followed Sonatype's recommendation here. What is your advise for today's Maven 3? Just use maven-deploy-plugin? Because as far as I can tell, it won't do releases with a staging workflow that implies: * Staging locally. * Creating a private staging remote repository. * Performing atomic upload into staging repository. * Closing staging repo (or dropping if upload failed). The closest would be {{m-d-p}}'s {{deployAtEnd}}, but if I'm not mistaken, it doesn't perform a "transactional release", and considering that Sonatype won't delete incomplete release artifacts, I see a high risk here, > "org.apache.maven.artifact.repository.metadata.Plugin.getPrefix() is null" > with Nexus Staging plugin > ---------------------------------------------------------------------------------------------------- > > Key: MPLUGIN-524 > URL: https://issues.apache.org/jira/browse/MPLUGIN-524 > Project: Maven Plugin Tools > Issue Type: Bug > Components: Metadata Model > Affects Versions: 3.13.0 > Reporter: Tristan Tarrant > Priority: Major > > While attempting to release a plugin with nexus-staging-maven-plugin, I get > the following exception: > {noformat} > [ERROR] Failed to execute goal > org.sonatype.plugins:nexus-staging-maven-plugin:1.6.13:deploy > (injected-nexus-deploy) on project proto-schema-compatibility-maven-plugin: > Failed to update metadata org.infinispan.maven-plugins/maven-metadata.xml: > Cannot invoke "String.equals(Object)" because the return value of > "org.apache.maven.artifact.repository.metadata.Plugin.getPrefix()" is null -> > [Help 1] > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute > goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.13:deploy > (injected-nexus-deploy) on project proto-schema-compatibility-maven-plugin: > Failed to update metadata org.infinispan.maven-plugins/maven-metadata.xml: > Cannot invoke "String.equals(Object)" because the return value of > "org.apache.maven.artifact.repository.metadata.Plugin.getP refix()" is null > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:333) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:316) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:212) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:174) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:75) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:162) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:159) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:105) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:73) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:53) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:118) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) > at jdk.internal.reflect.DirectMethodHandleAccessor.invoke > (DirectMethodHandleAccessor.java:103) > at java.lang.reflect.Method.invoke (Method.java:580) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:283) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:226) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:407) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:348) > Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to update > metadata org.infinispan.maven-plugins/maven-metadata.xml: Cannot invoke > "String.equals(Object)" because the return value of > "org.apache.maven.artifact.repository.metadata.Plugin.getPrefix()" is null > at org.sonatype.nexus.maven.staging.deploy.DeployMojo.execute > (DeployMojo.java:216) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:126) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:328) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:316) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:212) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:174) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:75) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:162) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:159) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:105) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:73) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:53) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:118) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) > at jdk.internal.reflect.DirectMethodHandleAccessor.invoke > (DirectMethodHandleAccessor.java:103) > at java.lang.reflect.Method.invoke (Method.java:580) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:283) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:226) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:407) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:348) > Caused by: org.apache.maven.artifact.deployer.ArtifactDeploymentException: > Failed to update metadata org.infinispan.maven-plugins/maven-metadata.xml: > Cannot invoke "String.equals(Object)" because the return value of > "org.apache.maven.artifact.repository.metadata.Plugin.getPrefix()" is null > at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy > (DefaultArtifactDeployer.java:133) > at > org.sonatype.nexus.maven.staging.deploy.strategy.AbstractDeployStrategy.deployUp > (AbstractDeployStrategy.java:213) > at > org.sonatype.nexus.maven.staging.deploy.strategy.DeferredDeployStrategy.finalizeDeploy > (DeferredDeployStrategy.java:86) > at org.sonatype.nexus.maven.staging.deploy.DeployMojo.execute > (DeployMojo.java:213) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:126) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:328) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:316) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:212) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:174) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:75) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:162) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:159) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:105) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:73) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:53) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:118) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) > at jdk.internal.reflect.DirectMethodHandleAccessor.invoke > (DirectMethodHandleAccessor.java:103) > at java.lang.reflect.Method.invoke (Method.java:580) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:283) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:226) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:407) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:348) > Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to > update metadata org.infinispan.maven-plugins/maven-metadata.xml: Cannot > invoke "String.equals(Object)" because the return value of > "org.apache.maven.artifact.repository.metadata.Plugin.getPrefix()" is null > at org.eclipse.aether.internal.impl.DefaultDeployer.upload > (DefaultDeployer.java:401) > at org.eclipse.aether.internal.impl.DefaultDeployer.deploy > (DefaultDeployer.java:294) > at org.eclipse.aether.internal.impl.DefaultDeployer.deploy > (DefaultDeployer.java:202) > at org.eclipse.aether.internal.impl.DefaultRepositorySystem.deploy > (DefaultRepositorySystem.java:393) > at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy > (DefaultArtifactDeployer.java:131) > at > org.sonatype.nexus.maven.staging.deploy.strategy.AbstractDeployStrategy.deployUp > (AbstractDeployStrategy.java:213) > at > org.sonatype.nexus.maven.staging.deploy.strategy.DeferredDeployStrategy.finalizeDeploy > (DeferredDeployStrategy.java:86) > at org.sonatype.nexus.maven.staging.deploy.DeployMojo.execute > (DeployMojo.java:213) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:126) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:328) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:316) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:212) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:174) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:75) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:162) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:159) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:105) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:73) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:53) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:118) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) > at jdk.internal.reflect.DirectMethodHandleAccessor.invoke > (DirectMethodHandleAccessor.java:103) > at java.lang.reflect.Method.invoke (Method.java:580) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:283) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:226) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:407) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:348) > Caused by: org.eclipse.aether.RepositoryException: Cannot invoke > "String.equals(Object)" because the return value of > "org.apache.maven.artifact.repository.metadata.Plugin.getPrefix()" is null > at org.apache.maven.artifact.repository.metadata.MetadataBridge.merge > (MetadataBridge.java:59) > at org.eclipse.aether.internal.impl.DefaultDeployer.upload > (DefaultDeployer.java:399) > at org.eclipse.aether.internal.impl.DefaultDeployer.deploy > (DefaultDeployer.java:294) > at org.eclipse.aether.internal.impl.DefaultDeployer.deploy > (DefaultDeployer.java:202) > at org.eclipse.aether.internal.impl.DefaultRepositorySystem.deploy > (DefaultRepositorySystem.java:393) > at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy > (DefaultArtifactDeployer.java:131) > at > org.sonatype.nexus.maven.staging.deploy.strategy.AbstractDeployStrategy.deployUp > (AbstractDeployStrategy.java:213) > at > org.sonatype.nexus.maven.staging.deploy.strategy.DeferredDeployStrategy.finalizeDeploy > (DeferredDeployStrategy.java:86) > at org.sonatype.nexus.maven.staging.deploy.DeployMojo.execute > (DeployMojo.java:213) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:126) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:328) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:316) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:212) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:174) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:75) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:162) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:159) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:105) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:73) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:53) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:118) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) > at jdk.internal.reflect.DirectMethodHandleAccessor.invoke > (DirectMethodHandleAccessor.java:103) > at java.lang.reflect.Method.invoke (Method.java:580) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:283) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:226) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:407) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:348) > Caused by: java.lang.NullPointerException: Cannot invoke > "String.equals(Object)" because the return value of > "org.apache.maven.artifact.repository.metadata.Plugin.getPrefix()" is null > at org.apache.maven.artifact.repository.metadata.Metadata.merge > (Metadata.java:293) > at > org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata > (AbstractRepositoryMetadata.java:99) > at > org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.storeInLocalRepository > (AbstractRepositoryMetadata.java:59) > at org.apache.maven.artifact.repository.metadata.MetadataBridge.merge > (MetadataBridge.java:56) > at org.eclipse.aether.internal.impl.DefaultDeployer.upload > (DefaultDeployer.java:399) > at org.eclipse.aether.internal.impl.DefaultDeployer.deploy > (DefaultDeployer.java:294) > at org.eclipse.aether.internal.impl.DefaultDeployer.deploy > (DefaultDeployer.java:202) > at org.eclipse.aether.internal.impl.DefaultRepositorySystem.deploy > (DefaultRepositorySystem.java:393) > at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy > (DefaultArtifactDeployer.java:131) > at > org.sonatype.nexus.maven.staging.deploy.strategy.AbstractDeployStrategy.deployUp > (AbstractDeployStrategy.java:213) > at > org.sonatype.nexus.maven.staging.deploy.strategy.DeferredDeployStrategy.finalizeDeploy > (DeferredDeployStrategy.java:86) > at org.sonatype.nexus.maven.staging.deploy.DeployMojo.execute > (DeployMojo.java:213) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:126) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:328) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:316) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:212) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:174) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:75) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:162) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:159) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:105) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:73) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:53) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:118) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) > at jdk.internal.reflect.DirectMethodHandleAccessor.invoke > (DirectMethodHandleAccessor.java:103) > at java.lang.reflect.Method.invoke (Method.java:580) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:283) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:226) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:407) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:348) > {noformat} > Downgrading to 3.12.0 works fine. The bug is similar to MPLUGIN-384 and I > suspect it was introduced with MPLUGIN-520. -- This message was sent by Atlassian Jira (v8.20.10#820010)