我正在尝试导入
org.apache.commons.codec.binary.Base64;
但是,此类已在" AWS SDK for Java"中声明。 但我还添加了jar文件commons-codec-1.8.jar,我希望它从那里加载它。如果我使用eclipse界面,显示可能的导入选项,我只能获得 org.apache.commons.codec.binary.Base64 ,所以我真的不知道如何强制它从我引用的库中的那个。
答案 0 :(得分:1)
Eclipse构建一个包含两个jar的大型类路径,但Java运行时将加载 它找到的第一堂课。
AWS SDK使用apache commons编解码器作为依赖项。 如果您查看pom.xml,可以看到他们参考1.3。
您可以更改pom,或者如果您根本不使用maven(从AWS下载jar),请从第三方库中删除1.3 jar并仅使用新的。
其他选项是自己使用1.3并从类路径中删除1.8。 使用标准类加载器时,无法加载相同类名的不同版本。
答案 1 :(得分:0)
因为这两个jar都遵循相同的结构,所以它将选择其中一个。为此你删除一个你不想要的.class文件并导入它。