SlideShare une entreprise Scribd logo
1  sur  27
08th July 2023
Calicut MuleSoft Meetup Group
#10 Maven and Mule
Safe Harbour Statement
● Both the speaker and the host are organizing this meet-up in individual capacity only. We are
not representing our companies here.
● This presentation is strictly for learning purposes only. Organizer/Presenter do not hold any
responsibility that same solution will work for your business requirements.
● This presentation is not meant for any promotional activities.
2
A recording of this meetup will be uploaded to events page within 24 hours.
Questions can be submitted/asked at any time in the Chat/Questions & Answers Tab.
Make it more Interactive!!!
Give us feedback! Rate this meetup session by filling feedback form at the end of the day.
We Love Feedbacks!!! Its Bread & Butter for Meetup.
Housekeeping
3
Organizers
Fathima Farzana
NJC Labs
MuleSoft / Integration Developer
John Mathew Philip
NJC Labs
MuleSoft / Integration Developer
Anoop Ramachandran
NJC Labs
Technical Instructor / Integration Architect
5
● What is Maven?
● What is POM and different tags in POM.
● Maven as dependency management.
● Maven as build management. - Maven Lifecycles, Maven phase vs goals,
● Mule Maven plugin
● Using settings.xml
● Deploy application to Cloudhub using Mule Maven Plugin.
● Deploy assets to exchange using Mule Maven Plugin and Exchange Mule Maven Plugin.
Agenda
What is Maven?
7
- Maven is a popular build automation and project management tool used primarily in Java-based
projects.
- Provides a framework for managing software builds, dependencies, and project configurations.
- Maven helps simplify the software development process by automating tasks such as compiling
source code, managing libraries and dependencies, running tests, packaging applications, and
generating project documentation.
Maven uses a project object model, defined in an XML file called “pom.xml”, to configure and
manage project settings.
Maven
The POM
9
- Project Object Model File
- Contains important informations related to the project.
- Packaging type
- dependencies and their repository where they reside
- Build configurations and plugin management
- pom.xml implicitly inherits Super POM
The POM
Maven as Dependency
Management
11
- Everything in Maven use coordinates
groupId + artifactId + version
Maven Coordinates
12
- Manages all dependencies and transitive dependencies
- Maven has a workflow to download dependencies.
Dependency Management
Maven as Build Management
14
- Maven is responsible for building the project and providing the deployable
archive (JAR file).
- Maven uses three lifecycle phases in their build management. (the build
lifecycles)
- default, site, clean
- the default lifecycle consists of the phases
- validate, initialize, compile, test, package, verify, install, deploy
- A lifecycle is made up of cascading ordered phases, with each phase
executing all the proceeding phases leading up to it.
Build Management
Mule Maven Plugin
16
- Mule Maven Plugin is built by Mulesoft to bind mule specific functionality to
maven phases.
- For example:
- mvn package will produce a jar file.
- mvn deploy will do a “mvn package” i.e to produce a jar file and deploy that jar to configured
environments like CH, RTF, Standalone etc.,
- https://docs.mulesoft.com/mule-runtime/4.3/mmp-concept
Mule Maven Plugin
Using Settings.xml
18
Settings.xml File
- The settings element in the settings.xml file contains elements used to define
values which configure Maven execution in various ways.
- The repositories for download and deployment are defined by the repositories
and distributionManagement elements of the POM. However, certain settings
such as username and password should not be distributed along with the
pom.xml. This type of information should exist on the build server in the
settings.xml.
Deploy application to Cloudhub using
Mule Maven Plugin
Cloudhub deployment
- You could deploy mule
applications to Cloudhub
via maven by adding
configuration inside
mule-maven-plugin.
> mvn -DmuleDeploy deploy
20
Deploy assets to exchange using
Mule Maven Plugin &
Exchange Mule Maven Plugin
Exchange Mule Maven Plugin
- With the Anypoint Exchange Maven Facade
API, Apache Maven clients can publish and
consume Exchange assets, including these
asset types:
- Connectors
- Mule applications
- Examples
- Templates
- Policies
- Custom assets
- https://docs.mulesoft.com/exchange/
to-publish-assets-maven
22
24
● https://maven.apache.org/what-is-maven.html
● https://maven.apache.org/pom.html
● https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
● https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
● https://maven.apache.org/guides/plugin/guide-java-plugin-development.html
● https://maven.apache.org/settings.html
● https://docs.mulesoft.com/mule-runtime/4.4/deploy-to-cloudhub
● https://docs.mulesoft.com/exchange/to-publish-assets-maven
References
Q&A
Take a stand !
26
●Nominate yourself for the next meetup speaker and suggest a topic as well.
27
● Share:
○ Tweet using the hashtag #MuleSoftMeetups
○ Invite your network to join: https://meetups.mulesoft.com/calicut/
● Feedback:
○ Fill out the survey feedback and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
What’s next?
Thank You

Contenu connexe

Similaire à #10 Calicut Mulesoft Meetup - Maven And Mule.pptx

Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoftvenkata20k
 
Maven – The build paraphernalia
Maven – The build paraphernaliaMaven – The build paraphernalia
Maven – The build paraphernaliaSubin Sugunan
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr E. Mohamed
 
Your new maven friend – the mule maven
Your new maven friend – the mule mavenYour new maven friend – the mule maven
Your new maven friend – the mule mavenSon Nguyen
 
An Introduction to Maven Part 1
An Introduction to Maven Part 1An Introduction to Maven Part 1
An Introduction to Maven Part 1MD Sayem Ahmed
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN ControllerSumit Arora
 
Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeHolasz Kati
 
Introduction to Apache Maven
Introduction to Apache MavenIntroduction to Apache Maven
Introduction to Apache MavenRajind Ruparathna
 
Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx
Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptxBrisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx
Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptxBrianFraser29
 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 featuresAngel Ruiz
 

Similaire à #10 Calicut Mulesoft Meetup - Maven And Mule.pptx (20)

Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoft
 
Maven
MavenMaven
Maven
 
Mavennotes.pdf
Mavennotes.pdfMavennotes.pdf
Mavennotes.pdf
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Maven – The build paraphernalia
Maven – The build paraphernaliaMaven – The build paraphernalia
Maven – The build paraphernalia
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Your new maven friend – the mule maven
Your new maven friend – the mule mavenYour new maven friend – the mule maven
Your new maven friend – the mule maven
 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GIT
 
An Introduction to Maven Part 1
An Introduction to Maven Part 1An Introduction to Maven Part 1
An Introduction to Maven Part 1
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN Controller
 
Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafe
 
Introduction to Apache Maven
Introduction to Apache MavenIntroduction to Apache Maven
Introduction to Apache Maven
 
Maven basics
Maven basicsMaven basics
Maven basics
 
Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx
Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptxBrisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx
Brisbane MuleSoft Meetup 13 MuleSoft Maven and Managing Dependencies Part 1.pptx
 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 features
 
Maven
MavenMaven
Maven
 

Dernier

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Dernier (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

#10 Calicut Mulesoft Meetup - Maven And Mule.pptx

  • 1. 08th July 2023 Calicut MuleSoft Meetup Group #10 Maven and Mule
  • 2. Safe Harbour Statement ● Both the speaker and the host are organizing this meet-up in individual capacity only. We are not representing our companies here. ● This presentation is strictly for learning purposes only. Organizer/Presenter do not hold any responsibility that same solution will work for your business requirements. ● This presentation is not meant for any promotional activities. 2
  • 3. A recording of this meetup will be uploaded to events page within 24 hours. Questions can be submitted/asked at any time in the Chat/Questions & Answers Tab. Make it more Interactive!!! Give us feedback! Rate this meetup session by filling feedback form at the end of the day. We Love Feedbacks!!! Its Bread & Butter for Meetup. Housekeeping 3
  • 4. Organizers Fathima Farzana NJC Labs MuleSoft / Integration Developer John Mathew Philip NJC Labs MuleSoft / Integration Developer Anoop Ramachandran NJC Labs Technical Instructor / Integration Architect
  • 5. 5 ● What is Maven? ● What is POM and different tags in POM. ● Maven as dependency management. ● Maven as build management. - Maven Lifecycles, Maven phase vs goals, ● Mule Maven plugin ● Using settings.xml ● Deploy application to Cloudhub using Mule Maven Plugin. ● Deploy assets to exchange using Mule Maven Plugin and Exchange Mule Maven Plugin. Agenda
  • 7. 7 - Maven is a popular build automation and project management tool used primarily in Java-based projects. - Provides a framework for managing software builds, dependencies, and project configurations. - Maven helps simplify the software development process by automating tasks such as compiling source code, managing libraries and dependencies, running tests, packaging applications, and generating project documentation. Maven uses a project object model, defined in an XML file called “pom.xml”, to configure and manage project settings. Maven
  • 9. 9 - Project Object Model File - Contains important informations related to the project. - Packaging type - dependencies and their repository where they reside - Build configurations and plugin management - pom.xml implicitly inherits Super POM The POM
  • 11. 11 - Everything in Maven use coordinates groupId + artifactId + version Maven Coordinates
  • 12. 12 - Manages all dependencies and transitive dependencies - Maven has a workflow to download dependencies. Dependency Management
  • 13. Maven as Build Management
  • 14. 14 - Maven is responsible for building the project and providing the deployable archive (JAR file). - Maven uses three lifecycle phases in their build management. (the build lifecycles) - default, site, clean - the default lifecycle consists of the phases - validate, initialize, compile, test, package, verify, install, deploy - A lifecycle is made up of cascading ordered phases, with each phase executing all the proceeding phases leading up to it. Build Management
  • 16. 16 - Mule Maven Plugin is built by Mulesoft to bind mule specific functionality to maven phases. - For example: - mvn package will produce a jar file. - mvn deploy will do a “mvn package” i.e to produce a jar file and deploy that jar to configured environments like CH, RTF, Standalone etc., - https://docs.mulesoft.com/mule-runtime/4.3/mmp-concept Mule Maven Plugin
  • 18. 18 Settings.xml File - The settings element in the settings.xml file contains elements used to define values which configure Maven execution in various ways. - The repositories for download and deployment are defined by the repositories and distributionManagement elements of the POM. However, certain settings such as username and password should not be distributed along with the pom.xml. This type of information should exist on the build server in the settings.xml.
  • 19. Deploy application to Cloudhub using Mule Maven Plugin
  • 20. Cloudhub deployment - You could deploy mule applications to Cloudhub via maven by adding configuration inside mule-maven-plugin. > mvn -DmuleDeploy deploy 20
  • 21. Deploy assets to exchange using Mule Maven Plugin & Exchange Mule Maven Plugin
  • 22. Exchange Mule Maven Plugin - With the Anypoint Exchange Maven Facade API, Apache Maven clients can publish and consume Exchange assets, including these asset types: - Connectors - Mule applications - Examples - Templates - Policies - Custom assets - https://docs.mulesoft.com/exchange/ to-publish-assets-maven 22
  • 23. 24 ● https://maven.apache.org/what-is-maven.html ● https://maven.apache.org/pom.html ● https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html ● https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html ● https://maven.apache.org/guides/plugin/guide-java-plugin-development.html ● https://maven.apache.org/settings.html ● https://docs.mulesoft.com/mule-runtime/4.4/deploy-to-cloudhub ● https://docs.mulesoft.com/exchange/to-publish-assets-maven References
  • 24. Q&A
  • 25. Take a stand ! 26 ●Nominate yourself for the next meetup speaker and suggest a topic as well.
  • 26. 27 ● Share: ○ Tweet using the hashtag #MuleSoftMeetups ○ Invite your network to join: https://meetups.mulesoft.com/calicut/ ● Feedback: ○ Fill out the survey feedback and suggest topics for upcoming events ○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program What’s next?