Fork me on GitHub

Frequently Asked Questions

  1. I get an Unsupported Protocol Error when deploying a 3rd party jar. What should I do?
  2. I don't want to deploy one of the artifacts in my multi-module build. Can I skip deployment?
  3. What does the message "The packaging for this project did not assign a file to the build artifact" mean when I run deploy:deploy?

I get an Unsupported Protocol Error when deploying a 3rd party jar. What should I do?

Deployment uses the Maven Resolver transport, which supports https:// (and http://) plus file:// URLs out of the box. Other protocols such as FTP, SCP or SFTP are not available by default: they require switching to the wagon transport (-Dmaven.resolver.transport=wagon) and declaring the corresponding wagon provider as a build <extension> in your POM.

Where possible, prefer deploying over HTTPS to a repository manager instead: it needs no extra extensions and does not send credentials in the clear (see the HTTP(S) deployment example).

I don't want to deploy one of the artifacts in my multi-module build. Can I skip deployment?

Yes, you can skip deployment of individual modules by configuring the Deploy Plugin as follows:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-deploy-plugin</artifactId>
  <version>X.Y</version>
  <configuration>
    <skip>true</skip>
  </configuration>
</plugin>

What does the message "The packaging for this project did not assign a file to the build artifact" mean when I run deploy:deploy?

During the packaging-phase all gathered and placed in context. With this mechanism Maven can ensure that the maven-install-plugin and maven-deploy-plugin are copying/uploading the same set of files. So when you only execute deploy:deploy, then there are no files put in the context and there is nothing to deploy.