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

If you are using the deploy:deploy-file goal and encounter this error:

"Error deploying artifact: Unsupported Protocol: 'ftp': Cannot find wagon which supports the requested protocol: ftp"

Then you need to place the appropriate wagon provider in your %M2_HOME%/lib. In this case the provider needed is ftp, so we have to place the wagon-ftp jar in the lib directory of your Maven 2 installation.

As an alternative to placing the wagon provider into the Maven distribution, you can also create a dummy POM that declares the required wagon as an <extension> inside the current directory.

If the error description is something like this:

"Error deploying artifact: Unsupported Protocol: 'ftp': Cannot find wagon which supports the requested protocol: ftp org/apache/commons/net/ftp/FTP"

Then you need to place the commons-net jar in %M2_HOME%/lib.

[top]


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>

[top]


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.

[top]