Duration
Java with Maven
5 days
Outline
- Java Fundamentals Refresher
- Java syntax and basic constructs
- Object-oriented programming concepts
- Key Java libraries and APIs
- Introduction to Maven
- What is Maven?
- Importance of build tools in Java
- Comparing Maven with other build tools (Ant, Gradle)
- Setting up Maven
- Installing Maven and configuring the environment
- Understanding the Maven directory structure
- Creating a simple Maven project
- Maven Project Structure and POM File
- Detailed exploration of the Project Object Model (POM)
- Understanding groupId, artifactId, and version
- Configuring project metadata
- Maven Lifecycle and Goals
- The Maven build lifecycle (default, clean, site)
- Commonly used Maven goals and phases
- Dependency Management
- Understanding dependencies in Maven
- Managing transitive dependencies
- Using repositories (local, central, remote)
- Effective Dependency Management Strategies
- Dependency scopes (compile, provided, runtime, test, system)
- Excluding dependencies
- Version ranges
- Maven Plugins
- Introduction to Maven plugins
- Commonly used plugins (compiler, surefire, shade)
- Configuring and using plugins in POM
- Building and Packaging Java Applications
- Different packaging types (jar, war, ear)
- Multi-module projects
- Customizing the Build Process
- Custom build phases and goals
- Using profiles to customize builds
- Maven Archetypes
- Introduction to archetypes
- Creating projects using Maven archetypes
- Developing custom archetypes
- Integration with Other Tools
- Integrating Maven with IDEs (Eclipse, IntelliJ IDEA)
- Continuous integration with Jenkins
- Using version control with Maven (Git)
- Maven and Unit Testing
- Writing unit tests with JUnit
- Configuring the Surefire plugin for test execution
- Advanced Testing Techniques
- Integration tests and the Failsafe plugin
- Mocking dependencies (Mockito)
- Code coverage tools (JaCoCo)
- Managing Project Documentation
- Generating project documentation with Maven Site plugin
- Customizing site reports and content
- Final Project Development
- Requirements and specifications
- Project planning and setup
- Project Implementation and Review
- Coding and integrating various components
- Applying learned Maven skills (dependencies, plugins, tests)
- Project presentations
Programme scope, delivery arrangements and suitability are confirmed during enquiry.