Difference between revisions of "Deploying Single Files with Maven"

From Pterodactylus
Jump to: navigation, search
(Add hint about adding dependencies to a pom.xml for the file being deployed)
(Include pomFile parameter in deploy-file call)
 
Line 1: Line 1:
 
In order to deploy single files that are not controlled by Maven, you need the <tt>deploy:deploy-file</tt> goal.
 
In order to deploy single files that are not controlled by Maven, you need the <tt>deploy:deploy-file</tt> goal.
  
     # mvn -Dfile=''file'' -DgroupId=''groupId'' -DartifactId=''artifactId'' -Dpackaging=jar -Dversion=''version'' -DrepositoryId=''repositoryId'' -Dsources=''source.jar'' -Durl=scpexe://''host''/''path'' deploy:deploy-file
+
     # mvn -Dfile=''file'' -DgroupId=''groupId'' -DartifactId=''artifactId'' -Dpackaging=jar -Dversion=''version'' -DrepositoryId=''repositoryId'' -Dsources=''source.jar'' -Durl=scpexe://''host''/''path'' -DpomFile=pom.xml deploy:deploy-file
 +
 
 +
<!-- -Durl=scpexe://maven.pterodactylus.net/var/www/pterodactylus.net/maven -->
  
 
The repository ID is necessary in case you have authentication information defined for your repository. You might additionally also need the following in your <code>pom.xml</code>:
 
The repository ID is necessary in case you have authentication information defined for your repository. You might additionally also need the following in your <code>pom.xml</code>:

Latest revision as of 21:30, 1 March 2025

In order to deploy single files that are not controlled by Maven, you need the deploy:deploy-file goal.

   # mvn -Dfile=file -DgroupId=groupId -DartifactId=artifactId -Dpackaging=jar -Dversion=version -DrepositoryId=repositoryId -Dsources=source.jar -Durl=scpexe://host/path -DpomFile=pom.xml deploy:deploy-file


The repository ID is necessary in case you have authentication information defined for your repository. You might additionally also need the following in your pom.xml:

   <project>
     <modelVersion>4.0.0</modelVersion>
     <groupId>groupId</groupId>
     <artifactId>artifactId</artifactId>
     <version>version</version>
     <build>
       <extensions>
         <extension>
           <groupId>org.apache.maven.wagon</groupId>
           <artifactId>wagon-ssh-external</artifactId>
           <version>1.0</version>
         </extension>
       </extensions>
     </build>
   </project>

And most definitely should you add a pom.xml in order to declare dependencies of the file you are deploying.

To install a file only locally, use:

   # mvn install:install-file -Dfile=file -DgroupId=groupId -DartifactId=artifactId -Dpackaging=jar -Dversion=version

To additionally install the sources for a JAR file, use:

   # mvn install:install-file -Dfile=file -DgroupId=groupId -DartifactId=artifactId -Dpackaging=jar -Dversion=version -Dclassifier=sources

Other userful options include localRepositoryPath.