What is Maven?
Introduction
Maven is a Java dependency manager
Dependencies
Description
A dependency is a set of classes that provide functionalities to a Java project.
Scope
Each dependency can define its scope, used to limit the transitivity of a dependency and to determine when a dependency is included in a classpath.
There are 6 different scopes:
compile: default scope, if none is defined. The dependency is available in all classpaths of a projectprovided: similar tocompile, but JDK or a container is expected to provide the dependency at runtimeruntime: the dependency is not required for compilation, but is for executiontest: the dependency is only available for test compilation and execution phases; not transitivesystem: similar toprovided, except that a JAR that contains it is explicitly provided; the artifact is always available and is not looked up in a repositoryimport: only support on a dependency of typepomin the<dependencyManager>section. The dependency is to be replaced with the effective list of dependencies in the specified POM’s<dependencyManagement>section. Since they are replaced, dependencies with a scope ofimportdo not actually participate in limiting the transitivity of a dependency
Annotations
@Data: Lombok dependency annotation that bundles the features of@ToString,@EqualsAndHashCode,@Getter / @Setterand@RequiredArgsConstructortogether