Unraveling Multimodality with Large Language Models.pdf
An introduction to Apache Maven
1. Apache Maven
●
What is it ?
●
How does it work ?
●
Why use it ?
●
Structure
●
Usage
●
Examples
www.semtech-solutions.co.nz
info@semtech-solutions.co.nz
2. Apache Maven – What is it ?
●
A build automation tool
●
Mainly for Java projects
●
Uses conventions for build structure / procedure
●
Licensed by Apache
●
Developed via Jakarta project
●
Stores libraries and plugins in a central repository
www.semtech-solutions.co.nz
info@semtech-solutions.co.nz
3. Apache Maven – How does it work ?
●
Build controlled via pom.xml project file
●
POM = Project Object Model
●
Uses standard build order, directories, plugins
●
Identifies dependencies in the pom.xml
●
One POM can call child POM's
●
It makes the build easier
●
Provides uniformity
www.semtech-solutions.co.nz
info@semtech-solutions.co.nz
4. Apache Maven – Why use it ?
●
Remove complexity from the build process
●
Use a uniform process
●
Make the build repeatable
●
Make the build consistant with other projects
●
Provides a controlled release process
●
Manages depedencies
www.semtech-solutions.co.nz
info@semtech-solutions.co.nz
5. Apache Maven – Structure
Using Maven 0.9 as an example
–
the structure of the Maven directories
www.semtech-solutions.co.nz
info@semtech-solutions.co.nz
6. Apache Maven – Usage
In terms of usage most estimates seem to agree
–
Maven / Ant / Eclipse are the most used
www.semtech-solutions.co.nz
info@semtech-solutions.co.nz
7. Apache Maven – Example
Taking the build of hadoop-2.0.6-alpha as an example
–
A parent pom.xml calls module hadoop-project
<modules>
<module>hadoop-project</module>
<module>hadoop-project-dist</module>
<module>hadoop-assemblies</module>
–
Identifies plugins
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-clover2-plugin</artifactId>
<version>3.0.5</version>
</plugin>
www.semtech-solutions.co.nz
info@semtech-solutions.co.nz
8. Apache Maven – Example
Taking the build of hadoop-2.0.6-alpha as an example
–
A child pom.xml – defines properties
<properties>
<failIfNoTests>false</failIfNoTests>
<maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
–
Identifies dependencies
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>6.1.26</version>
</dependency>
–
Defines profiles
–
Defines plugins
–
Defines the Build
www.semtech-solutions.co.nz
info@semtech-solutions.co.nz
9. Contact Us
●
Feel free to contact us at
–
www.semtech-solutions.co.nz
–
info@semtech-solutions.co.nz
●
We offer IT project consultancy
●
We are happy to hear about your problems
●
You can just pay for those hours that you need
●
To solve your problems
10. Contact Us
●
Feel free to contact us at
–
www.semtech-solutions.co.nz
–
info@semtech-solutions.co.nz
●
We offer IT project consultancy
●
We are happy to hear about your problems
●
You can just pay for those hours that you need
●
To solve your problems