Maven install Plugin: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
(Created page with " !!!External |[Maven Plugin Deploy] !!!Command Line: To install the binary __and__ sources "install" installs into the local repository. {{{ mvn install:install-...")
 
No edit summary
Line 1: Line 1:
=External=
* http://maven.apache.org/plugins/maven-install-plugin/
=Internal=
* [[Maven#Plugin|Maven]]
=Overview=




Line 7: Line 17:




!!!External


|[Maven Plugin Deploy]
|[Maven Plugin Deploy]

Revision as of 15:55, 18 November 2016

External

Internal

Overview

|[Maven Plugin Deploy]


!!!Command Line: To install the binary __and__ sources


"install" installs into the local repository.

{{{

mvn install:install-file -DgroupId=my.group -DartifactId=my-file -Dversion=1.0 -Dpackaging=jar -Dfile=./my-file.jar

mvn install:install-file -DgroupId=my.group -DartifactId=my-file -Dversion=1.0 -Dpackaging=jar -Dclassifier=sources -Dfile=./my-file-src.jar

}}}


!!!Command Line: Deployment

"deploy" sends an artifact into a remote repository

{{{ mvn deploy:deploy-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B \ -Dpackaging=jar -Dfile="C:\tmp\jta-1.0.1B.jar" \ -Durl="file://C:\Documents and Settings\ofeodoro\.m2" -DrepositoryId=repository }}}

!!!Deploying a third party artifact in http://repository.novaordis.org

In order to do that, you will need to log in on Template:Raiatea and become the user Template:Repository.

{{{

    /usr/local/maven/bin/mvn deploy:deploy-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 \
                                                -Dpackaging=jar -Dfile=./javax.jms.jar \
                                                -Durl=file:///home/repository/maven2 \
                                                -DrepositoryId=repository.novaordis.org
    /usr/local/maven/bin/mvn deploy:deploy-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 \
                                                -Dpackaging=jar -Dclassifier=source -Dfile=./somesourcejar.jar \
                                                -Durl=file:///home/repository/maven2 \
                                                -DrepositoryId=repository.novaordis.org

}}}

!!!Deploy a third party artifact under an arbitrary group into a remote https:// repository

{{{

  mvn deploy:deploy-file -DgroupId=ec.template -DartifactId=test -Dversion=1 -Dpackaging=zip \
     -Dfile=./test.zip -Durl=https://A290368:mypasswd@calt.cms.gov/nexus/content/repositories/libs-release-local/blah

}}}

This will create (with appropriate permissions) https://calt.cms.gov/nexus/content/repositories/libs-release-local/blah/ec/template/test/1/test-1.zip


!!!Deploying programmatically an artifact under a different name than its artifactId


The name of the artifact that is being built can be changed with {{<finalName>}} as follows: {{{

    <build>
           <finalName>simple-webapp</finalName>
    </build>

}}} or {{{

   <build>
       <finalName>${artifactId}</finalName>
   </build>

}}} or {{{

   <build>       
        <finalName>archimedes-${project.version}</finalName>
   </build>

}}} or {{{

   <build>
       <finalName>${parent.artifactId}-${artifactId}</finalName>
   </build>

}}}

However, the name won't propagate upon installation or deploy.

To install the artifact under a different name, do the following (please be aware that the artifact won't be deployed under the current module's directory, but under whatever is specified as "artifactId" below):

{{{

           <plugin>
               <artifactId>maven-install-plugin</artifactId>
               <executions>
                   <execution>
                       <id>install-ear-as-archimedes</id>
                       <phase>install</phase>
                       <configuration>
                           <file>${project.build.directory}/${project.build.finalName}.ear</file>
                           <groupId>com.numberdog.archimedes</groupId>
                           <artifactId>archimedes</artifactId>
                           <version>${parent.version}</version>
                           <packaging>ear</packaging>
                       </configuration>
                       <goals>
                           <goal>install-file</goal>
                       </goals>
                   </execution>
               </executions>
           </plugin>

}}}