maven deploy + nexus failed on bad request

24,693

Solution 1

A colleague of mine just ran into the same problem with maven attempting to upload artifacts twice. We found some help in the forums, links included below. Bae's answer did the trick for us:

Try running mvn -Prelease-profile help:effective-pom. You will find that you have two execution sections for maven-source-plugin

[...]

To fix this problem, find everywhere you have used maven-sources-plugin and make sure that you use the "id" attach-sources so that it is the same as the release profile. Then these sections will be merged. Best practice says that to get consistency you need to configure this in the root pom of your project in build > pluginManagement and NOT in your child poms. In the child pom you just specify in build > plugins that you want to use maven-source-plugin but you provide no executions.

Nexus accepts upload but says it failed and Maven release plugin fails : source artifacts getting deployed twice

Solution 2

snapshot and release confliction also results in 400 bad request. The project you are trying to update may be a snapshot like this in pom:

<version>0.0.1-SNAPSHOT</version>

while the repository in settings.xml rejects snapshot. solution:

<version>0.0.1</version>

This also happens the other way round: trying to deploy a release (version has no snapshot) version to a snapshot repository.

Solution 3

I also came across this problem. In my case I'd configured the Nexus repository policy to accept release artefacts but I was actually pushing a snapshot artefact to the repo. Since I wanted a snapshot repo I simply changed the policy and all was well.

Solution 4

This happened to me as well. In my case, I was deploying a release version. To fix, make sure the version number doesn't exist in Nexus yet. If it's a multi-module project, check the sub-modules' versions as well.

Share:
24,693
Gleeb
Author by

Gleeb

Senior Back end developer at eXelate

Updated on May 18, 2020

Comments

  • Gleeb
    Gleeb almost 4 years

    I am experiencing some problems with my build process.

    the build is finishing fine and Jenkins starts to upload files to nexus. everything works well, but then it fails for some reason, the weirdest part is that the file that is mentioned to not be uploaded is actually uploaded and i can find it in nexus.

    here is the output:

    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Build Order:
    [INFO] 
    [INFO] pn-parent
    [INFO] pn-domain
    [INFO] pn-infra
    [INFO] pn-config
    [INFO] datalink-repository
    [INFO] pn-service
    [INFO] pn-backend
    [INFO] 
    [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building pn-parent 0.0.707
    [INFO] ------------------------------------------------------------------------
    [WARNING] The artifact junit:junit-dep:pom:4.11 has been relocated to junit:junit:pom:4.11
    [INFO] 
    [INFO] --- maven-jar-plugin:2.5:jar (default-cli) @ pn-parent ---
    [WARNING] JAR will be empty - no content was marked for inclusion!
    [INFO] Building jar: /var/lib/jenkins/jobs/webapps-server-side-release/workspace/pn-parent/target/pn-parent-0.0.707.jar
    [INFO] 
    [INFO] --- maven-deploy-plugin:2.7:deploy (default-cli) @ pn-parent ---
    Uploading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn-parent/0.0.707/pn-parent-0.0.707.pom          
         Uploaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn-parent/0.0.707/pn-parent-0.0.707.pom (15 KB at 111.6 KB/sec)
    Downloading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn-parent/maven-metadata.xml
         Downloaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn-parent/maven-metadata.xml (21 KB at 1036.9 KB/sec)
    Uploading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn-parent/maven-metadata.xml
         Uploaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn-parent/maven-metadata.xml (21 KB at 864.7 KB/sec)
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building pn-domain 0.0.707
    [INFO] ------------------------------------------------------------------------
    [WARNING] The artifact junit:junit-dep:pom:4.11 has been relocated to junit:junit:pom:4.11
    [INFO] 
    [INFO] --- maven-jar-plugin:2.4:jar (default-cli) @ pn-domain ---
    [INFO] 
    [INFO] --- maven-deploy-plugin:2.7:deploy (default-cli) @ pn-domain ---
          Uploading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn-domain/0.0.707/pn-domain-0.0.707.jar    
          Uploaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/datalink-repository/0.0.707/datalink-repository-0.0.707.jar (624 KB at 7606.1 KB/sec)
    Uploading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/datalink-repository/0.0.707/datalink-repository-0.0.707.pom
    2/4 KB       
    4/4 KB   
          Uploaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/datalink-repository/0.0.707/datalink-repository-0.0.707.pom (4 KB at 93.0 KB/sec)
    Downloading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/datalink-repository/maven-metadata.xml
           Downloaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/datalink-repository/maven-metadata.xml (21 KB at 1382.8 KB/sec)
    Uploading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/datalink-repository/maven-metadata.xml
           Uploaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/datalink-repository/maven-metadata.xml (21 KB at 1037.8 KB/sec)
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building pn-service 0.0.707
    [INFO] ------------------------------------------------------------------------
    [WARNING] The artifact junit:junit-dep:pom:4.11 has been relocated to junit:junit:pom:4.11
    [INFO] 
    [INFO] --- maven-jar-plugin:2.4:jar (default-cli) @ pn-service ---
    [INFO] 
    [INFO] --- maven-deploy-plugin:2.7:deploy (default-cli) @ pn-service ---
    Uploading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn-service/0.0.707/pn-service-0.0.707.jar     
           Uploaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn/pn-backend/0.0.707/pn-backend-0.0.707.war (1247 KB at 19480.3 KB/sec)
    Uploading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn/pn-backend/0.0.707/pn-backend-0.0.707.pom      
           Uploaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn/pn-backend/0.0.707/pn-backend-0.0.707.pom (11 KB at 376.2 KB/sec)
    Downloading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn/pn-backend/maven-metadata.xml  
            Downloaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn/pn-backend/maven-metadata.xml (21 KB at 1213.1 KB/sec)
    Uploading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn/pn-backend/maven-metadata.xml  
           Uploaded: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn/pn-backend/maven-metadata.xml (21 KB at 1031.7 KB/sec)
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO] 
    [INFO] pn-parent ................................... SUCCESS [  1.081 s]
    [INFO] pn-domain ................................... SUCCESS [  0.696 s]
    [INFO] pn-infra .................................... SUCCESS [  0.295 s]
    [INFO] pn-config ................................... SUCCESS [  0.275 s]
    [INFO] datalink-repository ............................... SUCCESS [  0.390 s]
    [INFO] pn-service .................................. SUCCESS [  0.475 s]
    [INFO] pn-backend .................................. SUCCESS [  1.043 s]
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 6.234 s
    [INFO] Finished at: 2014-07-17T14:31:30+00:00
    [INFO] Final Memory: 19M/206M
    [INFO] ------------------------------------------------------------------------
    [WARNING] The requested profile "release" could not be activated because it does not exist.
    using global settings config with name mycompany-global-dev-maven-settings
    [workspace] $ /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven-3.1.1/bin/mvn -gs /tmp/global-settings8833627416958413984.xml deploy:deploy-file -Durl=http://maven.mycompany.com:8081/nexus/content/repositories/releases/ -DrepositoryId=mycompany.repository -DpomFile=pn-parent/Backend/pom.xml -Dfile=pn-parent/Backend/target/pn-backend.war
    [WARNING] 
    [WARNING] Some problems were encountered while building the effective settings
    [WARNING] 'usePluginRegistry' is deprecated and has no effect. @ /var/lib/jenkins/.m2/settings.xml
    [WARNING] 
    [INFO] Scanning for projects...
    [INFO] 
    [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Maven Stub Project (No POM) 1
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- maven-deploy-plugin:2.7:deploy-file (default-cli) @ standalone-pom ---
    Uploading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn/pn-backend/0.0.707/pn-backend-0.0.707.war
    ...
    Uploading: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn/pn-backend/0.0.707/pn-backend-0.0.707.pom
    2/11 KB          
    4/11 KB   
    6/11 KB   
    8/11 KB   
    10/11 KB   
    11/11 KB   
    
           [INFO] ------------------------------------------------------------------------
           [INFO] BUILD FAILURE
           [INFO] ------------------------------------------------------------------------
           [INFO] Total time: 1.928 s
           [INFO] Finished at: 2014-07-17T14:31:33+00:00
           [INFO] Final Memory: 6M/142M
           [INFO] ------------------------------------------------------------------------
           [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project standalone-pom: Failed to deploy artifacts: Could not transfer artifact com.mycompany.pn:pn-backend:war:0.0.707 from/to mycompany.repository (http://maven.mycompany.com:8081/nexus/content/repositories/releases/): Failed to transfer file: http://maven.mycompany.com:8081/nexus/content/repositories/releases/com/mycompany/pn/pn-backend/0.0.707/pn-backend-0.0.707.war. Return code is: 400, ReasonPhrase: Bad Request. -> [Help 1]
             [ERROR] 
             [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
             [ERROR] Re-run Maven using the -X switch to enable full debug logging.
              [ERROR] 
              [ERROR] For more information about the errors and possible solutions, please read the following articles:
             [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
             Build step 'Conditional steps (multiple)' marked build as failure
             [locks-and-latches] Releasing all the locks
             [locks-and-latches] All the locks released
             [Current build status] check if current [FAILURE] is worse or equals then [SUCCESS] and better or equals then [SUCCESS]
             Run condition [Current build status] preventing perform for step [Record JaCoCo coverage report]
            Description set: 
            Start to submit Nexus scheduled tasks.
            Submitting... [id: 36, name: release-build, type: Rebuild Maven Metadata Files]
            End to submit Nexus scheduled tasks successfully.
             Notifying upstream projects of job completion
            Finished: FAILURE