Configuring HTTP Basic Auth secured repository is a little bit hard. Just remember the following things:
- For simplicity we use the same login value for everyone - myMavenRepo.
- You should use read URL with read password and write URL with write password. You can't use read URL with write password.
- There is difference between repository credentials and service credentials. Don't mess them up.
Help / Configuring Maven pom.xml file for HTTP Basic Auth secured repository
Security
Let's specify password to your repositories in ~/.m2/settings.xml
<settings> <servers> <server> <id>myMavenRepo.read</id> <username>myMavenRepo</username> <password>${yourHttpAuthReadPassword}</password> </server> <server> <id>myMavenRepo.write</id> <username>myMavenRepo</username> <password>${yourHttpAuthWritePassword}</password> </server> </servers> </settings>
Replace ${yourHttpAuthReadPassword}
, ${yourHttpAuthWritePassword}
with corresponding password values.
Get more info: official documentation
Reading
Since your repository is protected by HTTP Basic Auth you can directly use read URL in your /path/to/project/pom.xml
file:
<project> ... <repositories> <repository> <id>myMavenRepo.read</id> <url>${myMavenRepo.read.url}</url> </repository> </repositories> ... </project>
Replace ${myMavenRepo.read.url}
with your read repository URL.
Get more info: official documentation
Publishing artifacts
Since your repository is protected by HTTP Basic Auth you can directly use write URL in your /path/to/project/pom.xml
file:
<project> ... <distributionManagement> <repository> <id>myMavenRepo.write</id> <url>${myMavenRepo.write.url}</url> </repository> </distributionManagement> ... </project>
Replace ${myMavenRepo.write.url}
with your write repository URL.
To upload artifacts use mvn deploy
command.
Get more info: official documentation