Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

How to configure Maven setting.xml and pom.xml to deploy a snapshot

PREREQUISITES

1
indentpanel
11

Before

you

begin,

you

must

have

done

the

following:

Panel


indent
1
1

* Requested and received confirmation that a Developer Tools Team account has been created.  You can always [request a Developer Tools Team account|https://src-prod.mit.edu/devtoolsSupport/dvTeamAccountRequest.jsp] at any time.\\
\\
When you receive confirmaiton that the private repository has been created, you will given the following information:\\
indent
2
2
Requested and received confirmation that a private Nexus repository has been created.
When you receive confirmaiton that the private repository has been created, you will given the following information:
indent
1

snapshot repository name\\
Team ID\\
Team list name\\
\\
You will need the above information to configure your Maven project so that it can access your snapshot repository.\\
Panel

These instuctions assume the following:

indent
1
1

* The name of the Nexus Repository server is maven.mit.edu.
  The actual server name may be different.
  The actual server name may be different.\\

Overview

Panel

Configuring a Maven project to access a snapshot repository requires setting up a name/password pair in the settings.xml file and associating the name/password with a specific distributionManagement repository which is defined in the project's pom.xml.

Items 1 and 2 below give the syntax of the entries for both the settings.xml and pom.xml files.  It is important to note the following:

indent
1
1

* The <id> element that is used in both the setting.xml (found in the <server> element) and the pom.xml (found in the <repository> element) is what associates the name/password pair with the private repository.
  The <id> element in both places must be identical.  It can be anything you want it to be, the only restriction is that they must be identical.
In the settings.xml, the <password> element must be the Team list name that was given to you when you received your repository confirmation.  Refer to the PREREQUISITES section above.
In the settings.xml, the <username> element must be deploy#string.
&nbsp;&nbsp;The <id> element in both places must be identical.&nbsp;&nbsp;It can be anything you want it to be, the only restriction is that they *must be identical*.\\
\\
* In the settings.xml, the <password> element *must* be the Team list name that was given to you when you received your repository confirmation.&nbsp;&nbsp;Refer to the {color:blue}*PREREQUISITES*{color} section above.\\
\\
* In the settings.xml, the <username> element *must* be *deploy#string*.\\
Panel

The snapshot repositories can be accessed by using either http or https.  If you want to use https, then you must enable Maven for SSL operations.  Click here for instructions on how to use SSL with Maven.  Using https is highly recommended when using snapshot repositories.

...



For instructions on how the configure Maven for https, refer to:

indent
1
1

* [Maven, https and Java keystores with Mac OS X|Maven, https and Java keystores with Mac OS X],\\
\\
* [Maven, https and Java keystores with Windows|Maven, https and Java keystores with Windows], or\\
\\
* [Maven, https and Java keystores|Maven, https and Java keystores]\\


1. the settings.xml <server> element configuration

Panel

Add a <server> element to settings.xml file.

Code Block
<servers>
    ...
    <server>
        <id>mySnapshotRepo</id>
        <username>deploy#string</username>
        <password>myTeamListName</password>
    </server>
    ...
</servers>


where myTeamListName has the form dvtl<Team ID>.

Example: if your Team ID is uadev, then the <password> element would be <password>dvtluadev</password>.

...

2. the Maven pom.xml <distributionManagement> element configuration

Panel

A snapshot repository can be accessed directly by adding the <distributionManagement> element below to your pom.xml:

Code Block

<distributionManagement>
    ...
    <repository>
        <id>mySnapshotRepo</id>
        <name>This is my snapshot repository</name>
        <url>https://maven.mit.edu/nexus/content/repositories/snapshotRepo</url>
    </repository>
    ...
</distributionManagement>

note: In the above <url> tag, snapshotRepo must be replaced with the name of your snapshot repository.