Abhijith
Abhijith

Reputation: 2632

unauthorized access on artifactory even though credentials are included

I am trying to deploy a zip file to a remote inhouse maven repo.(artifactory integrated into hudson).

pom.xml

...
<modelVersion>4.0.0</modelVersion>

<groupId>mygroupId</groupId>
<artifactId>myartifactid</artifactId>   

<version>1.0-SNAPSHOT</version>

<distributionManagement>
    <repository>
      <id>hudson</id>
      <name>hudson-releases</name>
      <url>http://url to repo</url>
    </repository>
  </distributionManagement>
...

settings.xml

<servers>
<server>
  <id>hudson</id>
  <username>username</username>
  <password>password</password>
</server>
</servers> 

maven deploy

 mvn deploy:deploy-file -Durl=http://url -Dfile=file-1.0.0.zip  -Dpackaging=zip  -DpomFile=pom.xml

maven quits with return code 401.

Looking at artifactory's logs

 2011-07-15 13:52:50,090 [DENIED DEPLOY] libs-release-local:somefile.zip for anonymous/192.168.220.146.

I don't understand why maven doesn't use the supplied credentials. What am i doing wrong here ?

Upvotes: 19

Views: 54968

Answers (7)

keerthi
keerthi

Reputation: 1

Update Maven configuration details and add the credentials of nexus:

credentials: admin

Upvotes: 0

chuckedw
chuckedw

Reputation: 751

Don´t forget to check that what you put on <distributionManagement> at your pom.xml corresponds to what is on the tags of your .m2/settings.xml.

Upvotes: 4

Pmt
Pmt

Reputation: 1152

Tip to solve the problem with the clear text password:

  • Access and login into Artifactory.
  • Once you are logged in, click over your user name, on the superior right corner of the screen.
  • Put your password then clique in the em Unlockbutton, enabling the encrypted password.
  • Copy the tag that will be showed on the inferior part of the screen and paste it into the settings.xml file. If you prefer to just copy the password, be sure about let it exactly equals the tag showed below, including the "\" at the beginning of the password.
  • Remember to adjust the tag with the id of your server, defined into the tag, in your POM.xml
  • Click in Update button and ready! Check if everything will occur well at the next project's publication.

Upvotes: 16

Abhijith
Abhijith

Reputation: 2632

For some reason using a POM file didn't work. So i had to do it from command line.

mvn deploy:deploy-file -Durl=http://url -Dfile=file-1.0.0.zip  -Dpackaging=zip  -DartifactId=aid -DgroupId=groupId -DrepositoryId=repId -Dversion=1.0-SNAPSHOT

I still do not know why this worked. Also , i didn't have to change settings.xml from what i listed before.

EDIT

Also, on the home tab in artifactory, you can get maven settings by clicking "Maven settings->Generate Settings" .

Upvotes: 3

Olli Puljula
Olli Puljula

Reputation: 2529

Hudson is most likely caching settings.xml. You can try to reload configuration from the disk using this url http://your-hudson-url:8081/hudson/reload or restart the container Hudson is running on. Worked for me.

Upvotes: 3

Mark O&#39;Connor
Mark O&#39;Connor

Reputation: 77951

You're publishing a snapshot version but you haven't specified a snapshotRepository tag in the distributionManagement section of your POM. Alternatively try and deploy a normal version and see if that works

Upvotes: 1

noamt
noamt

Reputation: 7815

Maven is not set to use preemptive authentication by default and has some issues when being challenged.

You can try configuring Maven's HttpClient Wagon to do preemptive authentication (http://maven.apache.org/guides/mini/guide-http-settings.html), though I rarely managed to get it working properly.
Since you're using Jenkins\Hudson, you might want to take a look at the Jenkins\Hudson - Artifactory plugin:

Upvotes: 1

Related Questions