Maven S3 Repo

A sample project of how to use S3 as Maven repository
Alternatives To Maven S3 Repo
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Awesome Aws11,283
23 days ago1December 21, 201563otherPython
A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome.
S3fs Fuse6,995
6 days ago4March 09, 2022202gpl-2.0C++
FUSE-based file system backed by Amazon S3
Moto6,730
2 days ago67apache-2.0Python
A library that allows you to easily mock out tests based on AWS infrastructure.
Replibyte3,512
24 days ago82gpl-3.0Rust
Seed your development database with real data ⚡️
Wal E3,327
14a year ago33February 04, 202091bsd-3-clausePython
Continuous Archiving for Postgres
0x4447_product_s3_email2,905
a year ago2mit
📫 A serverless email server on AWS using S3 and SES
Wal G2,501
2 days ago62March 16, 2022234otherGo
Archival and Restoration for databases in the Cloud
Mc2,41015152 days ago50April 22, 202136agpl-3.0Go
Simple | Fast tool to manage MinIO clusters :cloud:
Mountpoint S32,343
19 hours ago39apache-2.0Rust
A simple, high-throughput file client for mounting an Amazon S3 bucket as a local file system.
S3_website2,259
5389 days ago109October 11, 201776otherScala
Manage an S3 website: sync, deliver via CloudFront, benefit from advanced S3 website features.
Alternatives To Maven S3 Repo
Select To Compare


Alternative Project Comparisons
Readme

AWS S3 Maven Repository

This project demonstrates how to use AWS S3 as maven repository. AWS Maven Wagon plugin is used.

Demo Projects

s3

This project is a sample maven project. It's configured to be published to S3 based repository.

It is used to demonstrate maven artifacts publish to S3 based repository.

s3-test

This project depends on s3 project.

It is used to demonstrate resolving dependencies using S3 based repository with an s3:// schema.

s3-http-test

This project also depends on s3 project.

It's also used to demonstrate resolving dependencies using S3 based repository, but directly with http:// schema.

Configuration

Local AWS Account Settings

S3 access keys should be configured under ~/.m2/settings.xml.

<settings>
   <servers>
    <server>
      <id>aws-release</id>
      <username>AKIAIC5IC111111111</username>
      <password>ACF1111111111111111111111111111111</password>
    </server>
    <server>
      <id>aws-snapshot</id>
      <username>AKIAIC5IC111111111</username>
      <password>ACF1111111111111111111111111111111</password>
    </server>
  </servers>
</settings>

AWS Account Permissions

Proper AWS account permissions need to be granted to allow the account to write and read objects from S3.

They are required to publish artifacts to S3 or download artifacts via s3:// schema.

You may use AmazonS3FullAccess policy template for this permission.

Use HTTP Schema for S3 Repository

If you want to use http:// schema as maven repository, S3 bucket need to be configured as below:

Enable website hosting

Only enable this, you can access S3 via HTTP.

Just go to S3 console, and enable Static Website Hosting. Put index.html in Index Document as it's required to have one.

Configure Bucket Policy

You need to configure bucket policy so that those artifacts could be accessable. Example as below:

{
  "Id": "Policy1397027253868",
  "Statement": [
    {
      "Sid": "Stmt1397027243665",
      "Action": [
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::wbinglee-so-s3",
      "Principal": {
        "AWS": [
          "*"
        ]
      }
    },
    {
      "Sid": "Stmt1397027177153",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::wbinglee-so-s3/*",
      "Principal": {
        "AWS": [
          "*"
        ]
      }
    }
  ]
}
Popular S3 Projects
Popular Amazon Web Services Projects
Popular Cloud Computing Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Aws
Schema
S3