Maven
Useful documentation about Maven and its repository format.
Maven Documentation: https://maven.apache.org/index.html
- Settings Reference:
<settings>insettings.xml: https://maven.apache.org/settings.html - POM Reference:
pom.xml: https://maven.apache.org/pom.html - Maven Repositories: https://maven.apache.org/repositories/index.html
- Maven Central Repository: https://maven.apache.org/repository/index.html
- Central Index:
/.index: https://maven.apache.org/repository/central-index.html - Maven2 Repository Layout: https://maven.apache.org/repository/layout.html
- Central Index:
- Maven Artifacts: https://maven.apache.org/repositories/artifacts.html
-
Introduction to Build Profiles: https://maven.apache.org/guides/introduction/introduction-to-profiles.html
-
https://maven.apache.org/guides/introduction/introduction-to-repositories.html
- https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
- https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
- https://maven.apache.org/guides/mini/guide-multiple-repositories.html
- https://maven.apache.org/maven-ci-friendly.html
- https://maven.apache.org/maven-indexer/index.html
- https://maven.apache.org/maven-indexer/indexer-core/index.html
- https://maven.apache.org/maven-indexer/indexer-reader/index.html
- https://maven.apache.org/repositories/metadata.html
- https://maven.apache.org/repositories/remote.html
- https://maven.apache.org/repository/central-index.html
- https://maven.apache.org/repository/layout.html
- https://maven.apache.org/resolver/apidocs/org/eclipse/aether/metadata/Metadata.Nature.html
- https://maven.apache.org/resolver/maven-resolver-supplier/dependency-info.html
- https://maven.apache.org/xsd/maven-4.0.0.xsd
-
https://maven.apache.org/xsd/repository-metadata-1.1.0.xsd
-
https://maven.apache.org/ref/3.6.3/maven-core/apidocs/org/apache/maven/bridge/MavenRepositorySystem.html
- https://maven.apache.org/ref/3.9.8/maven-model/maven.html
- https://maven.apache.org/ref/3.9.8/maven-repository-metadata/
- https://maven.apache.org/ref/3.9.8/maven-repository-metadata/repository-metadata.html
transitive dependencies
-
Coord syntax: https://maven.apache.org/resolver/apidocs/org/eclipse/aether/artifact/DefaultArtifact.html#%3Cinit%3E(java.lang.String)
-
https://maven.apache.org/ref/3.9.1/apidocs/org/apache/maven/repository/RepositorySystem.html
- https://maven.apache.org/ref/3.9.1/apidocs/org/apache/maven/repository/RepositorySystem.html#getEffectiveRepositories(java.util.List)
Maven Central Links
- https://repo1.maven.org/maven2/
- https://repo1.maven.org/maven2/.index/
- https://repo1.maven.org/maven2/.index/nexus-maven-repository-index.gz
- https://repo1.maven.org/maven2/.meta/
- https://repo1.maven.org/maven2/.meta/prefixes.txt
- https://repo1.maven.org/maven2/.meta/repository-metadata.xml
- https://repo1.maven.org/maven2/.m2e/
- https://repo.maven.apache.org/
- https://repo.maven.apache.org/maven2/.meta/repository-metadata.xml
- https://repo.maven.apache.org/maven2/.meta/repository-metadata.xml
- https://storage-download.googleapis.com/maven-central/index.html
https://stackoverflow.com/questions/11612671/how-to-query-maven-repository-from-application-to-obtain-metadata https://svn.apache.org/repos/asf/servicemix/m2-repo/
https://maven.apache.org/resolver/xref/index.html https://maven.apache.org/resolver-archives/resolver-1.9.0/maven-resolver-demos/maven-resolver-demo-snippets/xref/org/apache/maven/resolver/examples/util/ConsoleDependencyGraphDumper.html
https://stackoverflow.com/questions/2619598/differences-between-dependencymanagement-and-dependencies-in-maven https://howtodoinjava.com/maven/maven-dependency-management/
getBaseVersion vs version maven parallel download https://stackoverflow.com/questions/32299902/parallel-downloads-of-maven-artifacts org.apache.maven.plugins parallel-downloads
Maven Libraries
Source Code
-
https://github.com/apache/maven/blob/master/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java
-
https://github.com/apache/maven-resolver/blob/master/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdatePolicyAnalyzer.java#L38
-
https://github.com/apache/maven-resolver/blob/maven-resolver-1.9.21/maven-resolver-supplier/src/main/java/org/eclipse/aether/supplier/RepositorySystemSupplier.java#L234
-
https://maven.apache.org/maven-indexer/
-
https://github.com/apache/maven-resolver/
- https://github.com/apache/maven-resolver/blob/master/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java
-
https://github.com/apache/maven-resolver/blob/maven-resolver-1.9.21/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultArtifactResolver.java
-
https://github.com/apache/maven-resolver/blob/master/maven-resolver-api/src/main/java/org/eclipse/aether/repository/RemoteRepository.java
- https://github.com/apache/maven-resolver/blob/master/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/EnhancedLocalRepositoryManager.java
-
https://github.com/apache/maven-resolver/tree/master
-
https://github.com/apache/maven-indexer
- https://github.com/apache/maven-indexer/blob/master/indexer-reader/src/main/java/org/apache/maven/index/reader/Record.java
- https://github.com/apache/maven-resolver/blob/maven-resolver-1.9.20/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverser.java
- https://github.com/apache/maven/blob/c3f1cd6f76bd296a4e7c552990eff27afa1c4825/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java#L169
- https://github.com/apache/maven-resolver/blob/maven-resolver-1.9.20/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/SimpleOptionalitySelector.java
- https://github.com/apache/maven-resolver/blob/master/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/JavaDependencyContextRefiner.java
API Documentation
-
https://maven.apache.org/resolver/apidocs/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.html
-
https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-util/1.9.20/org/eclipse/aether/util/graph/transformer/ConflictResolver.html
- https://javadoc.io/static/org.apache.maven.resolver/maven-resolver-util/1.9.20/org/eclipse/aether/util/graph/transformer/JavaDependencyContextRefiner.html
- https://javadoc.io/static/org.apache.maven.resolver/maven-resolver-util/1.9.20/org/eclipse/aether/util/graph/transformer/ConflictResolver.ScopeSelector.html
- https://javadoc.io/static/org.apache.maven.resolver/maven-resolver-util/1.9.20/org/eclipse/aether/util/graph/transformer/ConflictResolver.OptionalitySelector.html
- https://javadoc.io/static/org.apache.maven.resolver/maven-resolver-util/1.9.20/org/eclipse/aether/util/graph/transformer/ConflictResolver.ScopeDeriver.html
- https://maven.apache.org/ref/3.8.5/maven-core/apidocs/org/apache/maven/plugin/PluginParameterExpressionEvaluator.html
Third Party
https://github.com/borisbaldassari/maven-index-exporter/blob/main/docs/maven_repositories/list_maven_repositories_with_index.txt
https://github.com/javasoze/clue
Maven Index Explorer
- https://github.com/borisbaldassari/maven-index-exporter/blob/main/README.md
- https://github.com/borisbaldassari/maven-index-exporter/blob/main/docs/maven_repositories.md
- https://github.com/borisbaldassari/maven-index-exporter/blob/main/docs/maven_repositories/list_maven_repositories_with_index.txt
Aether
- https://wiki.eclipse.org/Aether
- https://wiki.eclipse.org/Aether/Resolving_Dependencies
- https://maven.apache.org/resolver/apidocs/org/eclipse/aether/metadata/Metadata.html
-
https://stackoverflow.com/questions/15094751/how-to-get-all-maven-dependencies-using-aether
-
https://maven.apache.org/resolver/apidocs/org/eclipse/aether/class-use/RepositorySystem.html
- https://maven.apache.org/resolver/apidocs/org/eclipse/aether/util/graph/traverser/FatArtifactTraverser.html
MVN Repository
- https://mvnrepository.com/repos
- https://mvnrepository.com/artifact/org.apache.lucene/lucene-analyzers-common
- https://mvnrepository.com/artifact/org.apache.lucene/lucene-analysis-common
- https://mvnrepository.com/artifact/org.mock-server/mockserver-netty/5.15.0
- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.17.1
- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations/2.17.1
- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core/2.17.1
- https://repo1.maven.org/maven2/org/mock-server/mockserver/5.15.0/mockserver-5.15.0.pom
- https://repo1.maven.org/maven2/com/fasterxml/jackson/jackson-base/2.17.1/jackson-base-2.17.1.pom
"Interesting" Artifacts
- https://maven-central-asia.storage-download.googleapis.com/maven2/com/inkapplications/spondee/math-macosx64/0/0/3/com%202/inkapplications/spondee/maven-metadata.xml
- https://mvnrepository.com/artifact/incubator-derby/derby
- https://repo1.maven.org/maven2/app/ubie/
- https://repo1.maven.org/maven2/com/inkapplications/spondee/math-macosx64/
- https://repo1.maven.org/maven2/com/inkapplications/spondee/math-macosx64/0.0.3/
- https://repo1.maven.org/maven2/com/inkapplications/spondee/math-macosx64/0/0/3/com%202
- https://repo1.maven.org/maven2/com/inkapplications/spondee/math-macosx64/maven-metadata.xml
- https://repo1.maven.org/maven2/org/apache-extras/camel-extra/camel-extra-itest-karaf/maven-metadata.xml
- https://repo1.maven.org/maven2/org/apache-extras/camel-extra/tests/maven-metadata.xml
- https://repo1.maven.org/maven2/org/fusesource/fabric/fabric-webui/
- https://repo1.maven.org/maven2/org/fusesource/fabric/fabric-webui/7.1.0.fuse-014/fabric-webui-7.1.0.fuse-014.pom
- https://repo1.maven.org/maven2/org/umlg/umlg-archetype/maven-metadata.xml
- https://repo1.maven.org/maven2/xml-apis/xml-apis/
- https://repo1.maven.org/maven2/xyz/raylab/raylab-modules-spring-boot-starter/
- ai.kognition.pilecv4j:opencv
"Interesting" Repositories
- https://repo.typesafe.com/ (now redirected)
- https://maven.wso2.org/nexus/content/repositories/releases/com/
- https://mvnrepository.com/repos/pentaho-omni
- https://maven.antelink.com/content/repositories/central/
- https://netbeans.apache.org/front/main/about/oracle-transition.html
- https://bits.netbeans.org/maven2/
Dependency Fields
"dependency": {
"artifact": {
"properties": {
"language": "none",
"constitutesBuildPath": "false",
"type": "jar",
"includesDependencies": "false"
}
},
"scope": "compile",
"optional": false,
"exclusions": []
}
"requestContext": "",
"data": {}
Artifact Not Found
ERROR maven.Dependencies: org.eclipse.aether.collection.DependencyCollectionException:org.eclipse.aether.resolution.ArtifactDescriptorException:org.eclipse.aether.resolution.ArtifactResolutionException:org.eclipse.aether.transfer.ArtifactNotFoundException
org.eclipse.aether.collection.DependencyCollectionException: Failed to collect dependencies at ai.starlake:starlake-spark2_2.11:jar:0.3.26 -> org.apache.hadoop:hadoop-common:jar:3.3.4 -> com.sun.jersey:jersey-json:jar:1.19 -> org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.3.2
at org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate.collectDependencies(DependencyCollectorDelegate.java:260)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:87)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:306)
at org.ucombinator.jade.maven.Dependencies$main$4.invoke(Dependencies.kt:462)
at org.ucombinator.jade.maven.Dependencies$main$4.invoke(Dependencies.kt:348)
at org.ucombinator.jade.util.Parallel$run$2$1.invokeSuspend(Parallel.kt:118)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)
Caused by: org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.3.2
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:245)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:175)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.resolveCachedArtifactDescriptor(DfDependencyCollector.java:382)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.getArtifactDescriptorResult(DfDependencyCollector.java:368)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:218)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:156)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process(DfDependencyCollector.java:138)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doRecurse(DfDependencyCollector.java:343)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:277)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:156)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process(DfDependencyCollector.java:138)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doRecurse(DfDependencyCollector.java:343)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:277)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:156)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process(DfDependencyCollector.java:138)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doCollectDependencies(DfDependencyCollector.java:108)
at org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate.collectDependencies(DependencyCollectorDelegate.java:222)
... 13 common frames omitted
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: org.eclipse.persistence:org.eclipse.persistence.moxy:pom:2.3.2 (absent): Could not find artifact org.eclipse.persistence:org.eclipse.persistence.moxy:pom:2.3.2 in google-maven-central-ap (https://maven-central-asia.storage-download.googleapis.com/maven2)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:473)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:261)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:243)
at org.ucombinator.jade.maven.Dependencies$main$system$1$getArtifactResolver$1$1.resolveArtifact(Dependencies.kt:258)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:234)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:175)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.resolveCachedArtifactDescriptor(DfDependencyCollector.java:382)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.getArtifactDescriptorResult(DfDependencyCollector.java:368)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:218)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:156)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process(DfDependencyCollector.java:138)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doRecurse(DfDependencyCollector.java:343)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:277)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:156)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process(DfDependencyCollector.java:138)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doRecurse(DfDependencyCollector.java:343)
at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:277)
... 25 common frames omitted
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.persistence:org.eclipse.persistence.moxy:pom:2.3.2 in google-maven-central-ap (https://maven-central-asia.storage-download.googleapis.com/maven2)
at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:42)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:417)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:260)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:537)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:449)
... 41 common frames omitted
To Be Filed
- https://svn.apache.org/repos/infra/websites/production/maven/content/pom.html
- https://repo1.maven.org/maven2/org/ow2/jasmine/monitoring/jasmine-monitoring-integration-tests-modules-timerchecker/1.2.7/
- https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes#Maven3.xCompatibilityNotes-PluginMetaversionResolution
- https://cloud.google.com/artifact-registry/docs/java/authentication
- https://cloudplatform.googleblog.com/2015/11/faster-builds-for-Java-developers-with-Maven-Central-mirror.html
In Maven, a repository content type refers to the format or structure of the artifacts (such as JAR files, WAR files, etc.) stored within a Maven repository. The main repository content types in Maven are: 1. Maven 2/3 Repository (default): This is the default and most commonly used repository content type in Maven. It follows the Maven 2/3 repository layout, where artifacts are organized into directories based on their group ID, artifact ID, and version. 2. Legacy Maven 1 Repository: This content type is used for repositories that follow the older Maven 1 repository layout, which was used in earlier versions of Maven. 3. Ivy Repository: This content type is used for repositories that follow the Ivy repository layout, which is a different format used by the Ivy dependency management tool. 4. P2 Repository: This content type is used for repositories that follow the P2 (Eclipse Plug-in) repository layout, which is commonly used for Eclipse plugin dependencies. 5. Raw Repository: This content type is used for repositories that do not follow any specific layout and simply store the artifacts as-is, without any directory structure. The repository content type is important because it determines how Maven will interact with the repository and how it will locate and download the required artifacts. When configuring a Maven repository, you need to specify the correct content type to ensure that Maven can properly access and manage the artifacts stored in the repository.
mvn:// https://www.iana.org/assignments/uri-schemes/prov/mvn mvn:org.ops4j.pax.web.bundles/service/0.2.0-SNAPSHOT mvn:http://user:password&repository.ops4j.org/maven2!org.ops4j.pax.web.bundles/service/0.2.0
What percent succeed with all maven? What percent succeed with just central?
No Metadata: https://repo1.maven.org/maven2/acegisecurity/acegi-security-adapters/