upload aem maven artifacts to Sonatype Nexus Repository error | Community
Skip to main content
Level 4
January 22, 2024
Solved

upload aem maven artifacts to Sonatype Nexus Repository error

  • January 22, 2024
  • 3 replies
  • 3361 views

hi all,

 

i am trying to push my maven build artifacts to sonatype nexus repo.

i am following the blog Maven Deploy to Sonatype Nexus Repo

I am getting the below error -

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:3.1.1:deploy (default-deploy) on project xyz: Failed to deploy artifacts: Could not transfer
artifact com.xyz.aem:aem:pom:1.0.0-20240122.075117-1 from/to nexus-snapshots (http://yy.xx.zz.aa:8080/nexus/content/repositories/snapshots😞 status code: 405, reason phrase: Method Not Allowed (405) -> [Help 1]

 

what will be the best way to publish artifact to the nexus sonatype?

also, how to resolve this issue?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by EstebanBustamante

Hi,

First of all, let me clarify that this is not an AEM-related task but a Maven process. Therefore, you can check in more forums about this process. The error you are encountering is due to the incorrect Nexus repository URL you are trying to access. Please refer to this thread for more details: https://stackoverflow.com/questions/63414621/405-method-not-allowed-when-deploying-artifact-to-nexus.

Typically, the most effective way to push an artifact to Nexus is by using the maven-deploy-plugin, which is generally suitable for AEM projects. If you need more advanced capabilities while interacting with Nexus, there are other Maven plugins that can be employed.

For step-by-step guidance on achieving this, please refer to the following articles:

  1. https://rodolfombc.medium.com/deploying-java-artifacts-on-a-nexus-repository-with-maven-939a80406acf
  2. https://www.baeldung.com/maven-deploy-nexus

 

I hope this helps

3 replies

Raja_Reddy
Community Advisor
Community Advisor
January 22, 2024

Hi @aem_noob 

Make sure you have the necessary credentials and access rights to publish artifacts to the Nexus repository.

Update your Maven settings.xml file with the Nexus repository details. The settings.xml file is usually located in the .m2 directory in your user home directory. Add the following configuration:

<servers>
<server>
<id>nexus-snapshots</id>
<username>your-username</username>
<password>your-password</password>
</server>
<server>
<id>nexus-releases</id>
<username>your-username</username>
<password>your-password</password>
</server>
</servers>
xml
Replace your-username and your-password with your Nexus credentials.

In your Maven pom.xml file, make sure you have the correct distribution management configuration. Here's an example:
<distributionManagement>
<repository>
<id>nexus-snapshots</id>
<url>http://yy.xx.zz.aa:8080/nexus/content/repositories/snapshots</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://yy.xx.zz.aa:8080/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
xml
Replace http://yy.xx.zz.aa:8080/nexus/content/repositories/snapshots with the URL of your Nexus repository.

Run the Maven deploy command to publish your artifacts to Nexus:
mvn deploy
shell
Now, regarding the error you mentioned, the status code 405 indicates that the HTTP method used is not allowed. This could be due to incorrect configuration or access restrictions on the Nexus repository.
1.Check Nexus Repository Configuration
2.Update Maven Deployment Configuration
3.Maven Deployment Plugin Configuration
4.Nexus Credentials
5.Check Nexus Logs
6.Use Correct Maven Goals

aem_noobAuthor
Level 4
January 22, 2024

acls and privileges are ok, the credentials are valid

nexus logs won't help as the artifact didn't get pushed to the server

maven goals are correct

for configuration its mostly ip address and url - i will check that again once -thanks

 

EstebanBustamante
Community Advisor and Adobe Champion
EstebanBustamanteCommunity Advisor and Adobe ChampionAccepted solution
Community Advisor and Adobe Champion
January 22, 2024

Hi,

First of all, let me clarify that this is not an AEM-related task but a Maven process. Therefore, you can check in more forums about this process. The error you are encountering is due to the incorrect Nexus repository URL you are trying to access. Please refer to this thread for more details: https://stackoverflow.com/questions/63414621/405-method-not-allowed-when-deploying-artifact-to-nexus.

Typically, the most effective way to push an artifact to Nexus is by using the maven-deploy-plugin, which is generally suitable for AEM projects. If you need more advanced capabilities while interacting with Nexus, there are other Maven plugins that can be employed.

For step-by-step guidance on achieving this, please refer to the following articles:

  1. https://rodolfombc.medium.com/deploying-java-artifacts-on-a-nexus-repository-with-maven-939a80406acf
  2. https://www.baeldung.com/maven-deploy-nexus

 

I hope this helps

Esteban Bustamante
aem_noobAuthor
Level 4
January 22, 2024

i m using non-browse based url only as the link suggested. i will try to switch back to maven deploy plugin as against the nexus-staging-maven-plugin once and update - thanks!

Rohan_Garg
Community Advisor
Community Advisor
January 22, 2024

As mentioned by @estebanbustamante, this is a URL related issue. Hit the URL in the browser and see if you are able to navigate to the repo.

You can also refer to the below URL for troubleshooting issues - 

https://stackoverflow.com/questions/18649486/error-when-deploying-an-artifact-in-nexus

aem_noobAuthor
Level 4
January 22, 2024

browser giving 404 - look like issue with / ending

but why will the resp code show 405?

aem_noobAuthor
Level 4
January 23, 2024

issue is now fixed due to incorrect url