The plugin is used from the command line. In the following example we will copy artifacts from a staging repository located at that is configured in the user settings file with an apache.staging id to the Apache scp repository located at scp:// that is configured in the user settings file with an apache.releases id.

If no special configuration is required for the source or target repositories the sourceRepositoryId or targetRepositoryId parameters respectively can be omitted.

mvn stage:copy -Dsource="" \
               -Dtarget="scp://" \
               -DsourceRepositoryId=apache.staging \
               -DtargetRepositoryId=apache.releases \

Note: Although it looks like we are only copying version 2.0.3, we are in fact copying everything from the source URL to the target. This is due to a bug and will change in the future.

What is happening under the hood?

The following tasks will be performed by the plugin:

  • Download the files from the source repository
  • Download any metadata that is already present in the target repository
  • Merge source and target metadata
  • Create a rename script
  • Create a zip file containing the source files, the merged metadata and the rename script
  • Upload the zip file to the target repository
  • Unpack the zip file on the target machine
  • Delete the zip file from the target repository
  • Run the rename script on the target machine
  • Delete the rename script from the target repository