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 Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafe
Holasz Kati
 

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

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 

#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?