Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx

Wednesday 27th September 2023
Brisbane MuleSoft Meetup Group
MuleSoft, Maven and Managing Dependencies (Part
1: Basics)
2
● 5:00 PM - Registration / Networking
● 5:15 PM - Introduction and announcements
● 5:30 PM - MuleSoft Maven and Managing Dependencies
● 6:15 PM - Wrap Up
Agenda
MuleSoft Product Announcements
Announcements
4
Skill up with new MuleSoft Trailhead Badges
Organizers, Sponsors, and Speakers
Intorductions
6
Organizers
Want to do a MuleSoft Meetup Talk? Reach out to our event organizers 
Nicholas ip
Senior Consultant at
MuleSoft | MuleSoft
Meetup Leader
Ryan Andal
MuleSoft
Ambassador |
Architect | TOGAF®
9 | AWS | Azure |
Associate Manager -
MuleSoft at
Capgemini
Brian Fraser
MuleSoft
Ambassador and
Meetup Leader |
Senior Integration
Consultant and
Manager at
Capgemini
Fuguo Wei
Principal Integration
Architect at
Cloudwerx |
MuleSoft Mentor |
MuleSoft Meetup
Leader
7
Sponsors
Check out our Sponsors
Capgemini
Capgemini is a global consulting and technology services company that
empowers businesses through comprehensive services, innovative solutions, and
a strong focus on digital transformation, helping them thrive in the digital age.
8
Speakers
Want to know more about our speakers? Check them out.
Gaurav Dubey
● MuleSoft Developer at Capgemini
● MuleSoft Mentor and MuleSoft Meetup Leader in both Nagpur and Goa
● 10+ years of experience in IT with human first approach.
MuleSoft, Maven and Managing Dependencies
(Part 1: Basics)
10
● Maven is a tool that can be used for building and managing any
Java-based project
What is Maven?
11
● Make the build process easy
● Provide a uniform build system
● Provide quality project information
● Encourage better development practices
Maven’s Objectives
12
● Yes
● No
Do we need to install Maven while working with
MuleSoft?
13
Where is Maven in Anypoint Studio?
14
● Download:
https://maven.apache.org/download.cgi
● Install:
https://maven.apache.org/install.html
Still want to install it locally?
15
● It builds your application (along with necessary details) by following
the build lifecycle
What does Maven actually do?
16
● Clean : Project Cleaning
● Site : Project Website
● Default : Project Deployment
Build Lifecycle
17
● Cleans the project
● Removes all build artifacts from working directory
Clean Lifecycle
18
● Creates the website for your project
Site Lifecycle
19
● validate : validate the project is correct and all necessary
information is available
● compile : compile the source code of the project
Default Lifecycle Phases
20
● test : test the compiled source code using a suitable unit
testing framework. These tests should not require
the code be packaged or deployed
● package : take the compiled code and package it in its
distributable format, such as a JAR
Default Lifecycle Phases
21
● verify : run any checks on results of integration tests to
ensure quality criteria are met
● install : install the package into the local repository, for use
as a dependency in other projects locally
Default Lifecycle Phases
22
● deploy : done in the build environment, copies the final
package to the remote repository for sharing with
other developers and projects.
Default Lifecycle Phases
23
<phases>
<phase>validate</phase>
<phase>initialize</phase>
<phase>generate-sources</phase>
<phase>process-sources</phase>
<phase>generate-resources</phase>
<phase>process-resources</phase>
<phase>compile</phase>
<phase>process-classes</phase>
<phase>generate-test-sources</phase>
<phase>process-test-sources</phase>
<phase>generate-test-resources</phase>
<phase>process-test-resources</phase>
Default Lifecycle Phases
24
<phase>test-compile</phase>
<phase>process-test-classes</phase>
<phase>test</phase>
<phase>prepare-package</phase>
<phase>package</phase>
<phase>pre-integration-test</phase>
<phase>integration-test</phase>
<phase>post-integration-test</phase>
<phase>verify</phase>
<phase>install</phase>
<phase>deploy</phase>
</phases>
Default Lifecycle Phases
25
26
● POM
How is Maven achieving all this?
27
● POM is a fundamental unit of work in Maven
● It is an XML file that contains information about the project and
configuration details used by Maven to build the project
Project Object Model
28
● project – root
● modelVersion – should be set to 4.0.0
● groupId – the id of the project’s group
● artifactId – the id of the artifact (project)
● version – the version of the artifact under the specified group
Minimal POM
29
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1</version>
</project>
Example of Minimal POM
30
Mule Project POM
31
● All models implicitly inherit from a super-POM
https://maven.apache.org/ref/3.6.3/maven-model-builder/super-
pom.html
Super POM
32
Demo 1
33
mvn archetype:generate -DgroupId=com.mycompany.app -
DartifactId=my-demo-app4 -DarchetypeArtifactId=maven-archetype-
quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Creating a Maven based project using commands
34
<packaging>mule-application</packaging>
Creating a Maven based project using commands
35
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
</plugin>
https://maven.apache.org/plugins/maven-clean-plugin/
maven clean plugin
36
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>3.5.4</version>
<extensions>true</extensions>
</plugin>
https://docs.mulesoft.com/mule-runtime/4.4/mmp-concept
mule maven plugin
37
● maven-resources-plugin
● maven-compiler-plugin
● maven-surefire-plugin
more plugins …
38
An artifact which your maven project depends on:
● JAR
● POM
Dependency Mechanism
39
● Local
● Central
○ https://repo1.maven.org/maven2/
● Remote
Maven Repositories
40
Maven Repositories
Credit: John Thompson
41
● target folder
Build Directory
42
● src/main/java
● src/main/mule
Source Directory
43
● src/test/java
● src/test/munit
Test Directory
44
● It contains maven build configuration that are not specific to a mule
application
● It has below advantages
○ Reduce redundancy
○ Minimize conflicting versions
○ Streamline dependency upgrade process
Parent POM
45
Parent POM
46
<packaging>pom</packaging>
Parent POM
47
<parent>
<groupId>com.mycompany</groupId>
<artifactId>demo-parent-pom1</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
Parent POM
48
● Maven Documentation
● MuleSoft Documentation
● Dependency Management: Friends of Max Demonstration
https://www.youtube.com/watch?v=tvhUV7uct68
References
Q&A time!
49
What’s Next
Introduce yourself to your neighbor
Networking time
Thank you
1 sur 52

Recommandé

Warsaw MuleSoft Meetup #6 - CI/CD par
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CDPatryk Bandurski
519 vues43 diapositives
CI CD Daridabad MuleSoft meetup par
CI CD Daridabad MuleSoft meetupCI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupAmit Singh
1.7K vues29 diapositives
Ahmadabad mule soft_meetup_6march2021_azure_CICD par
Ahmadabad mule soft_meetup_6march2021_azure_CICDAhmadabad mule soft_meetup_6march2021_azure_CICD
Ahmadabad mule soft_meetup_6march2021_azure_CICDShekh Muenuddeen
431 vues28 diapositives
Intelligent Projects with Maven - DevFest Istanbul par
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulMert Çalışkan
1.3K vues58 diapositives
Maven par
MavenMaven
MavenShraddha
416 vues24 diapositives
BMO - Intelligent Projects with Maven par
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenMert Çalışkan
1.6K vues59 diapositives

Contenu connexe

Similaire à Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx

Continuous delivery applied (DC CI User Group) par
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Mike McGarr
2.2K vues63 diapositives
Creating MuleSoft API Template Project Using Maven Archetype par
Creating MuleSoft API Template Project Using Maven ArchetypeCreating MuleSoft API Template Project Using Maven Archetype
Creating MuleSoft API Template Project Using Maven ArchetypeManish Kumar Yadav
596 vues24 diapositives
Mulesoft KL Meetup 2 par
Mulesoft KL Meetup 2Mulesoft KL Meetup 2
Mulesoft KL Meetup 2NitushreeJena
383 vues24 diapositives
Maven par
MavenMaven
MavenМарія Русин
1.9K vues49 diapositives
Building APIs with Mule and Spring Boot par
Building APIs with Mule and Spring BootBuilding APIs with Mule and Spring Boot
Building APIs with Mule and Spring BootGuilherme Pereira Silva
2.2K vues39 diapositives
Continuous delivery applied par
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
2.9K vues57 diapositives

Similaire à Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx(20)

Continuous delivery applied (DC CI User Group) par Mike McGarr
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)
Mike McGarr2.2K vues
Creating MuleSoft API Template Project Using Maven Archetype par Manish Kumar Yadav
Creating MuleSoft API Template Project Using Maven ArchetypeCreating MuleSoft API Template Project Using Maven Archetype
Creating MuleSoft API Template Project Using Maven Archetype
Continuous delivery applied par Mike McGarr
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
Mike McGarr2.9K vues
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin... par Jitendra Bafna
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin...
Jitendra Bafna518 vues
Continuous Delivery Applied (AgileDC) par Mike McGarr
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)
Mike McGarr1.4K vues
Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición) par Alexandra N. Martinez
Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)
Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)
#11 DataWeave Extension Library using Visual Studio Code par AnoopRamachandran13
#11 DataWeave Extension Library using Visual Studio Code#11 DataWeave Extension Library using Visual Studio Code
#11 DataWeave Extension Library using Visual Studio Code
How to Build and Maintain Quality Drupal Sites with Automated Testing par Acquia
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated Testing
Acquia3.1K vues
First Caracas MuleSoft Meetup Slides par Fernando Silva
First Caracas MuleSoft Meetup SlidesFirst Caracas MuleSoft Meetup Slides
First Caracas MuleSoft Meetup Slides
Fernando Silva578 vues
MuleSoft Meetup Bangalore - March 6 2021 par Nagaraju K R
MuleSoft Meetup Bangalore - March 6 2021MuleSoft Meetup Bangalore - March 6 2021
MuleSoft Meetup Bangalore - March 6 2021
Nagaraju K R431 vues
The Path Towards Spring Boot Native Applications par VMware Tanzu
The Path Towards Spring Boot Native ApplicationsThe Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native Applications
VMware Tanzu790 vues
NI Package Manager par DMC, Inc.
NI Package ManagerNI Package Manager
NI Package Manager
DMC, Inc.1.6K vues
IBM Pulse session 2727: Continuous delivery -accelerated with DevOps par Sanjeev Sharma
IBM Pulse session 2727: Continuous delivery -accelerated with DevOpsIBM Pulse session 2727: Continuous delivery -accelerated with DevOps
IBM Pulse session 2727: Continuous delivery -accelerated with DevOps
Sanjeev Sharma3.4K vues

Dernier

Scaling Knowledge Graph Architectures with AI par
Scaling Knowledge Graph Architectures with AIScaling Knowledge Graph Architectures with AI
Scaling Knowledge Graph Architectures with AIEnterprise Knowledge
28 vues15 diapositives
Java Platform Approach 1.0 - Picnic Meetup par
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic MeetupRick Ossendrijver
27 vues39 diapositives
PharoJS - Zürich Smalltalk Group Meetup November 2023 par
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023Noury Bouraqadi
126 vues17 diapositives
Lilypad @ Labweek, Istanbul, 2023.pdf par
Lilypad @ Labweek, Istanbul, 2023.pdfLilypad @ Labweek, Istanbul, 2023.pdf
Lilypad @ Labweek, Istanbul, 2023.pdfAlly339821
9 vues45 diapositives
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors par
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensorssugiuralab
19 vues15 diapositives
Kyo - Functional Scala 2023.pdf par
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfFlavio W. Brasil
298 vues92 diapositives

Dernier(20)

PharoJS - Zürich Smalltalk Group Meetup November 2023 par Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi126 vues
Lilypad @ Labweek, Istanbul, 2023.pdf par Ally339821
Lilypad @ Labweek, Istanbul, 2023.pdfLilypad @ Labweek, Istanbul, 2023.pdf
Lilypad @ Labweek, Istanbul, 2023.pdf
Ally3398219 vues
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors par sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 vues
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... par Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker33 vues
Business Analyst Series 2023 - Week 3 Session 5 par DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10237 vues
1st parposal presentation.pptx par i238212
1st parposal presentation.pptx1st parposal presentation.pptx
1st parposal presentation.pptx
i2382129 vues
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive par Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Transcript: The Details of Description Techniques tips and tangents on altern... par BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada135 vues
Spesifikasi Lengkap ASUS Vivobook Go 14 par Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang37 vues

Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx