Skip to main content

How to upload an artifact to maven remote repository?

If you want to deploy artifacts that were not build using maven, or which were build using maven but their POMs did not contains the deployment detials, then you need to deploy them using the following:

mvn -e deploy:deploy-file
-DgroupId=com.test.jpa
-DartifactId=jpa-demo
-Dversion=1.0.0
-Dpackaging=jar
-Dfile=jpa-demo-1.0.0.jar
-Durl=http://localhost:8080/archiva/repository/internal/
-DrepositoryId=reppoI
d

url: specifies the remote maven repository to where the jar is to be uploaded
repositoryId: Id repository is secured, repositoryId is used to specify the credentials that are to be used for uploading. Repositories are defined in settings.xml.
e.g.
<servers>
    <server>
      <id>deploymentRepo</id>
      <username>repouser</username>
      <password>repopwd</password>
    </server>
</servers>

Maven repository will return code 401 if credentials are missing or invalid.

Better way is to use deploy phase of the default build lifecycle. For that include a valid <distributionManagement/> section in project's pom.xml and define the remote repository using <repository/>.

If the repository is secured, you should configure your settings.xml file to define corresponding <server/> entries which provides authentication information.

pom.xml

...
<distributionManagement>
    <repository>
      <id>my.internal.repo</id>
      <name>Internal Repository</name>
      <url>http://...</url>
    </repository>
</distributionManagement>
...



settings.xml

...
<server>
      <id>my.internal.repo</id>
      <username>user</username>
      <password>pass</password>
</server>
...


maven deploy
will not deploy the artifact to your remote repository.

Comments

Popular posts from this blog

SVN red book

I normally use Subclipse plugin for Eclipse for SVN operations. It really makes life easy. I am a novice when it comes to performing svn operations using SVN commands. I found a very useful resource for that: HTML version of SVN red book (for subversion 1.5) Hope you find this useful :)