Maven

From bibbleWiki
Revision as of 21:31, 12 May 2020 by Iwiseman (talk | contribs)
Jump to navigation Jump to search

Installation of ubuntu 20.04

Surprise nothing special

apt-get update
apt-get install maven

Set Environment

In ~/.bashrc add

export M2_HOME=/usr/share/maven
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"

You can either log out or run the script with

. ~/.bashrc

Lifecyle

1  validate
   Validates whether project is correct and all necessary information is available to complete the build process.
2  initialize
   Initializes build state, for example set properties.
3  generate-sources
   Generate any source code to be included in compilation phase.
4  process-sources
   Process the source code, for example, filter any value.
5  generate-resources
   Generate resources to be included in the package.
6  process-resources
   Copy and process the resources into the destination directory, ready for packaging phase.
7  compile<build>
       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-site-plugin</artifactId>
               <version>3.7.1</version>
           </plugin>

<build>

       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-site-plugin</artifactId>
               <version>3.7.1</version>
           </plugin>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-project-info-reports-plugin</artifactId>
               <version>3.0.0</version>
           </plugin>
       </plugins>
   </build>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-project-info-reports-plugin</artifactId>
               <version>3.0.0</version>
           </plugin>
       </plugins>
   </build>
   Compile the source code of the project.
8  process-classes
   Post-process the generated files from compilation, for example to do bytecode enhancement/optimization on Java classes.
9  generate-test-sources
   Generate any test source code to be included in compilation phase.
10 process-test-sources
   Process the test source code, for example, filter any values.
11 test-compile
   Compile the test source code into the test destination directory.
12 process-test-classes
   Process the generated files from test code file compilation.
13 test
   Run tests using a suitable unit testing framework (Junit is one).
14 prepare-package
   Perform any operations necessary to prepare a package before the actual packaging.
15 package
   Take the compiled code and package it in its distributable format, such as a JAR, WAR, or EAR file.
16 pre-integration-test
   Perform actions required before integration tests are executed. For example, setting up the required environment.
17 integration-test
   Process and deploy the package if necessary into an environment where integration tests can be run.
18 post-integration-test
   Perform actions required after integration tests have been executed. For example, cleaning up the environment.
19 verify
   Run any check-ups to verify the package is valid and meets quality criteria.
20 install
   Install the package into the local repository, which can be used as a dependency in other projects locally.
21 deploy
   Copies the final package to the remote repository for sharing with other developers and projects.

Tutorial

I followed the tutorial on

https://www.tutorialspoint.com/maven/maven_build_profiles.htm

The following error occurred

org.apache.maven.doxia.siterenderer.DocumentContent

Found the following fix on

https://mkyong.com/maven/mvn-site-java-lang-classnotfoundexception-org-apache-maven-doxia-siterenderer-documentcontent/
<build>
    <plugins> 
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.7.1</version>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>3.0.0</version>
        </plugin>
    </plugins>
</build>