Maven es un gestor de dependencias, ten en cuenta que gestionar, manipular y actualizar todos los paquetes de spring e hibernate es una ardua tarea, por lo que lo mas idoneo es que sea asi a no ser que actualices las librerias a mano en el futuro
Yo te aviso que no he tocado docker
Pero por lo que he visto en internet en el ratito que voy en bus (xD) veo que maven tiene un plug-in propio para trabajar con ambos, seria cuestión de verlo en marcha como se porta
L
Pero a simple vista, uno hace la vez de contenedor y el otro de gestor de dependencias, a priori no deberia ser incompatible
Además de lo que ha dicho muy bien Luna. Maven es una "build tool" (herramienta de gestión y construcción) además de gestionar dependencias hace por el programador tareas repetitivas que se pueden automatizar. Se usan en cualquier proyecto de desarrollo de software que vaya más allá de unas simples clases:
What are build tools?
Build tools are programs that automate the creation of executable applications from source code(eg. .apk for android app). Building incorporates compiling,linking and packaging the code into a usable or executable form.
Basically build automation is the act of scripting or automating a wide variety of tasks that software developers do in their day-to-day activities like:
Downloading dependencies.
Compiling source code into binary code.
Packaging that binary code.
Running tests.
Deployment to production systems.
Why do we use build tools or build automation?
In small projects, developers will often manually invoke the build process. This is not practical for larger projects, where it is very hard to keep track of what needs to be built, in what sequence and what dependencies there are in the building process. Using an automation tool allows the build process to be more consistent.
Various build tools available(Naming only few):
For java - Ant,Maven,Gradle.
For .NET framework - NAnt
c# - MsBuild.
A
Docker por su parte es un contenedor de aplicaciones (una abstracción por encima de las máquinas virtuales) que facilita el manejo de servidores en el mundo del software. Si buscas información puedes encontrar hasta hartarte a leer :D.
Así que ambas herramientas por las que has preguntado son muy disitintas puesto que su función es muy distinta.