maven - sergeyzolotukhin/learn-java-gradle GitHub Wiki
Named Locks, Redis, Redisson, Hazelcast. https://source.coveo.com/2023/02/28/accelerate-mvn-builds-ci/ Takari [Deprecated] http://takari.io/book/30-team-maven.html https://github.com/takari/takari-local-repository
maven.apache.org - Shared Access to Local Repository https://maven.apache.org/resolver/local-repository.html#shared-access-to-local-repository
Hence, since Resolver 1.7.x version, there is a pluggable API called “Named Locks” available, providing out of the box lock implementations for cases like:
multi-process locking using file system advisory locking
multi-host locking using Hazelcast or Redisson (needs Hazelcast or Redisson cluster)
multi-threaded, in JVM locking (the default)
Types of Linux File Locking (Advisory, Mandatory Lock Examples) https://www.thegeekstuff.com/2012/04/linux-file-locking-types/
Maven Named Locks https://maven.apache.org/resolver/maven-resolver-named-locks/
http://dyanarose.github.io/blog/2017/08/26/graceful-shutdown-of-java-apps-under-docker/
Yes:
If your project has direct dependencies on B then you should keep it even if B is a transitive dependency of A. It can be that in the next version A won't use B an you'll have to restructure the pom.xml.
Generally, Maven dependencies should reflect the logical project dependencies.
No:
I try to keep the pom as simple as possible. With the transitive dependencies declared, even if they are used explicitly, the Maven pom becomes more verbose.
https://github.com/ozimov/yaml-properties-maven-plugin
https://github.com/pascalgn/properties-maven-extension https://github.com/payara/ecosystem-maven-regex-profile-activation-extension https://github.com/random-maven/profile-activator-extension https://github.com/kpiwko/el-profile-activator-extension
https://github.com/vitalibo/ssh-maven-plugin/tree/master https://github.com/adrianboimvaser/postgresql-maven-plugin
https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files implementation 'org.springframework.boot:spring-boot-loader:3.4.0'