在Maven项目中获取ClassNotFoundException SdkClientException

时间:2019-05-10 23:13:45

标签: java amazon-web-services maven

我是java / maven新手,我遇到了这个奇怪的问题,希望有人可以在上面遮住一些灯光。 我有两个Maven项目。项目A是类B的依赖项。项目A在其pom.xml中将aws java sdk声明为其依赖项:

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

现在,项目B将项目A声明为其依赖项,并且还声明aws-java-sdk-s3,其版本与项目A中的aws-java-sdk完全相同:

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

但是,在我的Intellij Dependency Analyzer中,我可以看到项目B正在使用s3 sdk 1.11.431.11.549的两个版本。但是项目A使用的是正确的版本1.11.549

如果我在docker容器中运行项目B,则会引发以下错误:

... 41 more Caused by: java.lang.ClassNotFoundException: 
com.amazonaws.SdkClientException    at 
java.net.URLClassLoader.findClass(URLClassLoader.java:381)  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)    at 
org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedUR
LClassLoader.java:93)   at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 53 more

但是,当我从项目B的依赖项中删除s3 sdk时,应用程序成功启动!

有人可以向我解释一下还是给我一些有关如何调试它的提示?

这也是我的intellij分析器 enter image description here

0 个答案:

没有答案