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 de 52

Recomendados

Warsaw MuleSoft Meetup #6 - CI/CD por
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CDPatryk Bandurski
520 visualizações43 slides
CI CD Daridabad MuleSoft meetup por
CI CD Daridabad MuleSoft meetupCI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupAmit Singh
1.7K visualizações29 slides
Ahmadabad mule soft_meetup_6march2021_azure_CICD por
Ahmadabad mule soft_meetup_6march2021_azure_CICDAhmadabad mule soft_meetup_6march2021_azure_CICD
Ahmadabad mule soft_meetup_6march2021_azure_CICDShekh Muenuddeen
432 visualizações28 slides
Intelligent Projects with Maven - DevFest Istanbul por
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulMert Çalışkan
1.3K visualizações58 slides
Maven por
MavenMaven
MavenShraddha
416 visualizações24 slides
BMO - Intelligent Projects with Maven por
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenMert Çalışkan
1.6K visualizações59 slides

Mais conteúdo relacionado

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

Continuous delivery applied (DC CI User Group) por
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 visualizações63 slides
Mulesoft KL Meetup 2 por
Mulesoft KL Meetup 2Mulesoft KL Meetup 2
Mulesoft KL Meetup 2NitushreeJena
384 visualizações24 slides
Creating MuleSoft API Template Project Using Maven Archetype por
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
600 visualizações24 slides
Maven por
MavenMaven
MavenМарія Русин
1.9K visualizações49 slides
Building APIs with Mule and Spring Boot por
Building APIs with Mule and Spring BootBuilding APIs with Mule and Spring Boot
Building APIs with Mule and Spring BootGuilherme Pereira Silva
2.2K visualizações39 slides
Continuous delivery applied por
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
2.9K visualizações57 slides

Similar a Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx(20)

Continuous delivery applied (DC CI User Group) por 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 visualizações
Mulesoft KL Meetup 2 por NitushreeJena
Mulesoft KL Meetup 2Mulesoft KL Meetup 2
Mulesoft KL Meetup 2
NitushreeJena384 visualizações
Creating MuleSoft API Template Project Using Maven Archetype por 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
Manish Kumar Yadav600 visualizações
Building APIs with Mule and Spring Boot por Guilherme Pereira Silva
Building APIs with Mule and Spring BootBuilding APIs with Mule and Spring Boot
Building APIs with Mule and Spring Boot
Guilherme Pereira Silva2.2K visualizações
Continuous delivery applied por Mike McGarr
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
Mike McGarr2.9K visualizações
MuleSoft Surat Virtual Meetup#15 - Caching Scope, Caching Strategy and Jenkin... por 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 Bafna520 visualizações
Continuous Delivery Applied (AgileDC) por Mike McGarr
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)
Mike McGarr1.4K visualizações
Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición) por 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)
Alexandra N. Martinez309 visualizações
#11 DataWeave Extension Library using Visual Studio Code por 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
AnoopRamachandran13130 visualizações
#10 Calicut Mulesoft Meetup - Maven And Mule.pptx por AnoopRamachandran13
#10 Calicut Mulesoft Meetup - Maven And Mule.pptx#10 Calicut Mulesoft Meetup - Maven And Mule.pptx
#10 Calicut Mulesoft Meetup - Maven And Mule.pptx
AnoopRamachandran13119 visualizações
How to Build and Maintain Quality Drupal Sites with Automated Testing por 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 visualizações
First Caracas MuleSoft Meetup Slides por Fernando Silva
First Caracas MuleSoft Meetup SlidesFirst Caracas MuleSoft Meetup Slides
First Caracas MuleSoft Meetup Slides
Fernando Silva579 visualizações
MuleSoft Meetup Bangalore - March 6 2021 por Nagaraju K R
MuleSoft Meetup Bangalore - March 6 2021MuleSoft Meetup Bangalore - March 6 2021
MuleSoft Meetup Bangalore - March 6 2021
Nagaraju K R432 visualizações
The Path Towards Spring Boot Native Applications por VMware Tanzu
The Path Towards Spring Boot Native ApplicationsThe Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native Applications
VMware Tanzu790 visualizações
What's new in Gradle 4.0 por Eric Wendelin
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
Eric Wendelin1.9K visualizações
NI Package Manager por DMC, Inc.
NI Package ManagerNI Package Manager
NI Package Manager
DMC, Inc.1.6K visualizações
Mule soft indore meetup 2 por Pradhan Yash Sharma
Mule soft indore meetup 2Mule soft indore meetup 2
Mule soft indore meetup 2
Pradhan Yash Sharma339 visualizações
IBM Pulse session 2727: Continuous delivery -accelerated with DevOps por 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 visualizações

Último

Inawisdom IDP por
Inawisdom IDPInawisdom IDP
Inawisdom IDPPhilipBasford
15 visualizações48 slides
Innovation & Entrepreneurship strategies in Dairy Industry por
Innovation & Entrepreneurship strategies in Dairy IndustryInnovation & Entrepreneurship strategies in Dairy Industry
Innovation & Entrepreneurship strategies in Dairy IndustryPervaizDar1
35 visualizações26 slides
Transcript: Redefining the book supply chain: A glimpse into the future - Tec... por
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...BookNet Canada
41 visualizações16 slides
The Power of Generative AI in Accelerating No Code Adoption.pdf por
The Power of Generative AI in Accelerating No Code Adoption.pdfThe Power of Generative AI in Accelerating No Code Adoption.pdf
The Power of Generative AI in Accelerating No Code Adoption.pdfSaeed Al Dhaheri
39 visualizações18 slides
Business Analyst Series 2023 - Week 4 Session 8 por
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8DianaGray10
145 visualizações13 slides
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell por
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell
"Node.js vs workers — A comparison of two JavaScript runtimes", James M SnellFwdays
14 visualizações30 slides

Último(20)

Inawisdom IDP por PhilipBasford
Inawisdom IDPInawisdom IDP
Inawisdom IDP
PhilipBasford15 visualizações
Innovation & Entrepreneurship strategies in Dairy Industry por PervaizDar1
Innovation & Entrepreneurship strategies in Dairy IndustryInnovation & Entrepreneurship strategies in Dairy Industry
Innovation & Entrepreneurship strategies in Dairy Industry
PervaizDar135 visualizações
Transcript: Redefining the book supply chain: A glimpse into the future - Tec... por BookNet Canada
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
BookNet Canada41 visualizações
The Power of Generative AI in Accelerating No Code Adoption.pdf por Saeed Al Dhaheri
The Power of Generative AI in Accelerating No Code Adoption.pdfThe Power of Generative AI in Accelerating No Code Adoption.pdf
The Power of Generative AI in Accelerating No Code Adoption.pdf
Saeed Al Dhaheri39 visualizações
Business Analyst Series 2023 - Week 4 Session 8 por DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10145 visualizações
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell por Fwdays
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell
Fwdays14 visualizações
Initiating and Advancing Your Strategic GIS Governance Strategy por Safe Software
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
Safe Software184 visualizações
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... por ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue108 visualizações
"Node.js Development in 2024: trends and tools", Nikita Galkin por Fwdays
"Node.js Development in 2024: trends and tools", Nikita Galkin "Node.js Development in 2024: trends and tools", Nikita Galkin
"Node.js Development in 2024: trends and tools", Nikita Galkin
Fwdays33 visualizações
Deep Tech and the Amplified Organisation: Core Concepts por Holonomics
Deep Tech and the Amplified Organisation: Core ConceptsDeep Tech and the Amplified Organisation: Core Concepts
Deep Tech and the Amplified Organisation: Core Concepts
Holonomics17 visualizações
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... por ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue199 visualizações
Choosing the Right Flutter App Development Company por Ficode Technologies
Choosing the Right Flutter App Development CompanyChoosing the Right Flutter App Development Company
Choosing the Right Flutter App Development Company
Ficode Technologies13 visualizações
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream por Alpen-Adria-Universität
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamEvaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream
Alpen-Adria-Universität38 visualizações
NTGapps NTG LowCode Platform por Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu437 visualizações
The Role of Patterns in the Era of Large Language Models por Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li91 visualizações
PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」 por PC Cluster Consortium
PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」
PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」
PC Cluster Consortium27 visualizações
The Coming AI Tsunami.pptx por johnhandby
The Coming AI Tsunami.pptxThe Coming AI Tsunami.pptx
The Coming AI Tsunami.pptx
johnhandby13 visualizações
Discover Aura Workshop (12.5.23).pdf por Neo4j
Discover Aura Workshop (12.5.23).pdfDiscover Aura Workshop (12.5.23).pdf
Discover Aura Workshop (12.5.23).pdf
Neo4j15 visualizações
Measurecamp Brussels - Synthetic data.pdf por Human37
Measurecamp Brussels - Synthetic data.pdfMeasurecamp Brussels - Synthetic data.pdf
Measurecamp Brussels - Synthetic data.pdf
Human37 26 visualizações

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