繁体   English   中英

添加 aws-java-sdk 依赖项后 Maven 错误“206 文件名或扩展名太长”

[英]Maven error '206 the filename or extension is too long' after adding aws-java-sdk dependency

目前我有一个 Maven 项目,在添加以下依赖项后: https : //mvnrepository.com/artifact/com.amazonaws/aws-java-sdk到 pom.xml 文件,我似乎看到以下异常: CreateProcess error=206, The filename or extension is too long

执行包含public static void main

public class Connection_Test {
    public static void main(String[] args) {
        System.out.println("Hello world");
    }
}

我目前已通过以下方式移动了 .m2 存储库(我使用的是 Windows 10):

  1. 将 .m2 存储库移动到 c:\\
  2. 通过包含以下内容的 inteliJ 创建 settings.xml:
<settings>
  <localRepository>c:/.m2/repository</localRepository>
</settings>

即使进行了上述设置/更改,我仍然遇到同样的问题,不知道为什么在添加 aws-java-sdk 依赖项后我似乎遇到了这个问题,有什么想法吗?

问题似乎在于通过 pom.xml 文件导入 aws java 库的方式。 我见过做这样的事情的文档和项目:

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

但是,现在 aws-java-sdk 下似乎有很多子项目,列出它们都打破了 Windows 10 上的最大长度类路径。

与其导入整个 AWS 开发工具包,不如只导入您需要的部分。 上有一些好的文档在这里

要一次导入一个 SDK 组件,您需要先在 pom.xml 文件的 DependencyManagement 部分启用 aws-java-sdk-bom(物料清单)。 像这样:

<dependencyManagement>   
  <dependencies>
     <dependency>
       <groupId>com.amazonaws</groupId>
       <artifactId>aws-java-sdk-bom</artifactId>
       <version>1.12.1</version>
       <type>pom</type>
       <scope>import</scope>
     </dependency>   
  </dependencies> 
</dependencyManagement>

然后,要引入 S3,您必须将 aws-java-sdk-s3 列为它自己的依赖项。

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

暂无
暂无

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

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