Structural Dataset from Maven Central
收藏资源简介:
Structural Dataset from Maven Central This repository contains a compressed file with approximately 16 million POMs extracted from Maven Central. It serves as a structural dataset for Maven ecosystems and offers potential use cases such as the following: 💡 Analysing dependencies between artefacts to construct graphs or trees. 💡 Detecting vulnerabilities by cross-referencing <group_id>:<artifact_id>:<version> with databases such as Open Source Vulnerabilities (OSV) or the National Vulnerability Database (NVD). 💡 Building a local mirror of Maven for offline use. 💡 Indexing into a database for querying artefacts, versions, or licences. 💡 Studying the Java ecosystem by analysing trends and configurations in .pom files. 💡 Creating dependency recommendation systems based on real-world usage patterns. Folder Structure The file artifactory-index.tar.gz is 3.27 gigabytes in size and expands to a folder structure totalling 84.21 gigabytes. The folder structure follows the typical Maven Central path format to keep things intuitive. An example is shown below: dumps/ ├── org/apache/commons/lang3/3.17.0/ | └── commons-lang3-3.17.0.pom ├── org/apache/commons/lang3/3.16.0/ | └── commons-lang3-3.16.0.pom └── ... Updating the Folder Structure Lastly, the clone.py file contains a script written in Python 3.13 that updates and adds new .pom files to the folder structure. Dependencies must first be installed using the requirements.txt file. The clone.py script uses the maven_artifacts.txt file, where each line corresponds to an artefact indexed in Maven Central and is described in the format <group_id>:<artifact_id>:<version>. The current version of maven_artifacts.txt includes all artefacts indexed as of March 2025. Additional artefacts may be appended, or a different file with missing entries may be used; however, for the sake of reproducibility, it is advisable to make it available for others wishing to use this dataset.



