Managing Java Projects with maven
What you will learn
Maven Fundamentals
Managing external dependencies
Transitive dependencies
Managing Repositories
Managing Build profiles
Maven Lifecycle and Phases
Software versioning
Why take this course?
**Virtual Academy of Pakistan** рд╕реЗ рдЖрдкрдХреЛ рдЗрдирдЯрд░рдиреЗрдЯ рдкрд░ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЬуВзрдХреНрдЯ╤Б рдХрд╛ рдЙрджреНрднреМ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Apache Maven (рдореИрд╡рди) рдХреА рдЖрд╕реА рддрд░реАрдХреЛрдВ рд╕реАрдЦрдиреЗ рдХрд╛ рдврд╣рд╛рд░реА рдЕрд╡рдзрд╛рд░ред рдпрд╣ рдПрдХ рдЬрд╛рд╡рд╛ рдбреЗрдмрд▓рд░реНрд╕, рдлреНрд░реАрд▓реИуГ│рд╕, рдФрд░ рдЕрдкрдиреА рд╕реНрд░реЛрдд рдХреЛ рдХрд╛рд░рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯs рдХреЗ рд▓рд┐рдП рдРрддрд┐рд╣рд╛рд╕рд┐рдХрд╛рдВ рдмрд┐рд▓рдб рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ, рд╣рдо рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯs рдХреА рдЖрд░рдВрднрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рддрдХ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП Maven рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдбрд┐рдкрд╢реА рдЯреВрд▓реНрд╕, рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ, рдФрд░ Maven рд╕рд╛рдЗрдЯреНрд╕ рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдлрд┐рдЪрдпреБрдЬрд┐рдВрд╕ рдХреЛ рдбрд┐рдЦрд╛рдиреЗ рддрдХ рдкрд╣╤ГрдВрдЪ рджреАрдЧрд╛ред
**рдХреМрд░рд╕ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрдзреНрдпрд╛рдп:**
1. **Project Object Model (POM) рдХрд╛ Sahayak:** рдХреМрд░рд╕ рдЖрд╡рдд рд╣реИ рд▓рдЧрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Project Object Model (POM) рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рде-рд╕рд╛рде POM рдХреЗ рдкреНрд░реЛрдкрд░рдЯреАрдЬ рдФрд░ рдмрдВрджреЛрдВ (dependencies) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
2. **Build Life Cycle:** Maven рдХреЗ Core рдФрд░ Tools рдкрд▓рдЯрдЗрдиреНрд╕ рдХреЛ рдЙрдкрдпреБрдХ рдХрд░рдХреЗ рдЙрдЬрд╛рдЧрд░ рддрд╕реНрд╡реАрд░ (compile) рдФрд░ рдХреНрд▓рд┐рдПрди (clean) рдХрдВрдб рдХреЛ рдХреИрд╕реЗ шЗкхКиэЩФ рдХрд░реЗрдВред
3. **Dependencies рдХрд╛ рд╣реЗрддреБ:** Maven рдХреЗ рджьлАрд╣рд╕рд╛ рдмрдирд╛рдПрдВ рдФрд░ рдЙрдкрдпреБрдХрд┐рдд рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрдкрдХрд░рдг рдХреА JAR рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреИрдХ рдХрд░рдиреЗ рддрд░реАрдХреЗ рд╕реАрдЦреЗрдВред
4. **Reporting with Maven:** Maven sites рдФрд░ рдмрд╣реБрд╕реНрд╡рднрд╛рд░реА рдкреНуГйрдЧ-рдЗрдиреНрд╕ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рдЖрдордирдд рдХрд░реЗрдВред
5. **Maven for Java Build Automation:** Maven рдХреЛ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓рдб шЗкхКиреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреБрдХрд╕рд╛рди рджреЗрдВред
6. **Maven Workflow:** рдХреМрд░рд╕ рдореЗрдВ Maven рдХреЗ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдПрдВ рдЬреЛ рдЖрдкрдХреЗ рд╡рд┐рдХрд╛рд╕ рд╡рд░реНрдЧрджрд░ рдореЗрдВ рд╣реБрдЖ рд╕рд╛рдорд╛рдиреНрдп рддрдХ рднреА рдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
7. **Maven with Two Different Java IDEs:** NetBeans рдФрд░ IntelliJ рдХреЗ рд╕рд╛рде Maven рдХрд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░рд╛ рд╢реБрд░реБрдЖрдд рддрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ред
**рдХреМрд░рд╕ рдХреА рдмрдбрд╝реА рджрдпрд╛рд▓ рдЗрдЪреНрдЫрд╛:**
– рдЗрд╕ рдХреМрд░рд╕ рдореЗрдВ, рдЖрдк рд╣реЛрдЧреА рдЕрдзрд┐рдХ рдЬрд╛рдирдкреВрд░реНрдг рдХрд╣рд▓рддреЗ рд╣реБрдП Apache Maven рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЪрд╛рд╣реЗ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд╕ рдПрдХ рд╕рдорд╛рди рд╡рд┐рднрд╛рдЧ рдпрд╛ рддреИрдпрд╛рд░ рд╣реА рд╕рдлрд▓ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдПред
– **Maven рдХреЗ рдЖрдзрд╛рд░:** Project Object Model (POM), Build Life Cycle, Dependencies, JAR рдкреИрдХреЗрдЬ, Riports, рдФрд░ Java рдкреНрд░реЛрдЬуВзрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП Maven рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХрд╛ рдмрд╣реБрд╕реНрд╡рднрд╛рд░реА рдЕрд╡рдзрд╛рд░ред
– **Operating System рдХреЛ рдЪреБрдирдирд╛:** рдЗрд╕ рдХреМрд░рд╕ рдореЗрдВ, Maven рдХреЛ Windows рдкрд░ рдЗрдВьКдрдЯреЖрд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдЦ рдФрд░ POM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ Maven рдХреЗ рдПрдХреНрд╕рдЯрди рд╕рд╛рдл рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
– **Maven Plugins:** Compiler, Tester, Package, etc., рдкрд▓рдЯрдЗрдиреНрд╕ рдХреЛ рдЙрдкрдпреБрдХ рдХрд░рдХреЗ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдЕрд╡рд╕рд░ рдореЗрдВ Maven рдХрд╛ рд╢реАрд░реНрд╖рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
– **Mentorship:** рдЗрд╕ рдХреМрд░рд╕ рдХрд╛ рдлрд╛рдИрд▓ рднреБрдЧрддрди рдЬреИрд╕рд╛ рдЖрдкрдХреЛ Maven рдХреЗ рд╕рдореНрдпрдХ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд╣рд╛рдпрддрд╛ рджреА рдЬрд╛рдПрдЧреАред
**Knowledge Hands-on Experience:**
– **Project Based Learning:** рдЖрдк рдПрдХ рдмрд╛рд░ рдкреНрд░рд╛╨║╤В╨╕рдХ рдХрд░рдХреЗ Maven рдХреЗ рдирд┐рдпрдореЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд░рддреЗ рд╣реБрдП рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВрдЧреЗред
– **Real-World Scenarios:** Maven рдХреЗ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЖрд╕рд╛┘Ж рддрд░реАрдЦ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд╡рд╛ рдПрдХ рдкреНрд░реЛрдЬреЗхЕЛреНрдЯ рдХреЛ Maven рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдХреБрд╢рд▓рддрд╛ рд╣реЛрдВрдЧреЗред
рдЖрдкрдХреЛ рдпрд╣ рдЗрдЪреНрдЫрд╛ рд╣реЛ рдХрд┐ рдЗрд╕ рдХреМрд░рд╕ рдореЗрдВ рдЖрдк Maven рдХрд╛ рдПрдХ рдкреАрдареЗ рдЕрдзрд┐рдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рд╡рд╛ рдмреБрджреНрдзрд┐рдорд╛рди рдкреНрд░реЛрдЬуВзуВпреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдЙрдкрдХрд░рдг рднрд▓реЗ рд╣реА Maven рд╣реЛ рд╕рдХрддрд╛ рд╣реИред