【发布时间】:2016-07-26 13:51:34
【问题描述】:
目前我只想将 Java AWS 开发工具包用于 S3。 因此,我不想导入整个 AWS SDK jar 文件,而只想将用于访问我的 S3 存储桶的必要包导入我的 Web 应用程序(IDE:Netbeans)。
为此,我读到我应该使用 Maven 来构建我需要的 jar。
我尝试了两种方法,但似乎无法在我正在构建的 jar 中包含所有 aws-java-sdk-s3 依赖项。
第一种方法
1) 我从 https://github.com/aws/aws-sdk-java 下载压缩后的 aws-sdk-java 文件夹
2) 我解压到本地文件夹。
3) 我导航到控制台中的 aws-java-sdk-s3(即:pom 所在的位置)文件夹,然后键入“mvn clean install”。
虽然这会构建一个 jar 文件(位于 aws-java-sdk-s3/target),但该 jar 不包含 POM 文件中指定的依赖项(例如:它不包含我需要的核心包中的 BasicAWSCredentials 类)。
第二种方法 更改位于 aws-java-sdk-master 文件夹中的 POM 文件,使其导入 BOM 并通过添加以下内容指定我的要求 (S3):
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
<version>1.10.67</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
</dependency>
</dependencies>
并删除 POM 中列出的所有其他依赖项(例如:junit)。
这种方法在构建 DynamoDB 包时失败,我什至不需要它来构建它(我想指定它只需要 S3)。
关于我做错了什么有什么建议吗? 也许这里的主要问题是我是 Maven 新手。
谢谢
【问题讨论】:
-
不确定您使用的是什么版本的 SDK。您应该只能导入 s3 模块 - repo.maven.apache.org/maven2/com/amazonaws/aws-java-sdk-s3/… 还可以查看 AWS 指南 docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/…
-
谢谢。您链接到的 s3 jar 不包括
core类(我的印象是它应该是因为core包是s3的依赖项,但也许我误解了一些东西)......我是熟悉您提供的第二个链接,我无法使其正常工作。
标签: java maven amazon-web-services amazon-s3 jar