簡體   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