繁体   English   中英

构建AWS SDK Jar以导入单个包

[英]Build AWS SDK Jar to Import for a Single Package

我想目前仅将Java AWS SDK用于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的新手。

谢谢

您可以直接从maven下载您感兴趣的Jar: http//central.maven.org/maven2/com/amazonaws/aws-java-sdk-s3/1.10.66/aws-java-sdk-s3-1.10 .66.jar

使用您要使用的sdk版本更新URL,您只需在项目中导入jar,无需重建它

同样更新你的pom.xml,

<dependencies>

....


<!-- AWS dependencies -->

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk</artifactId>
    <version>1.10.43</version>
</dependency>

....

</dependencies>

使用Gradle对我来说很好。 这是我在API doc中建议使用的Gradle构建文件。

group 'aws.test'
version '1.0'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
  mavenCentral()
}

buildscript {
  repositories {
      mavenCentral()
  }
  dependencies {
      classpath "io.spring.gradle:dependency-management-plugin:1.0.3.RELEASE"
  }
}

apply plugin: "io.spring.dependency-management"

dependencyManagement {
  imports {
      mavenBom 'software.amazon.awssdk:bom:2.0.0-preview-12'
  }
}

dependencies {
  compile 'software.amazon.awssdk:s3'
  testCompile group: 'junit', name: 'junit', version: '4.11'
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM