为什么我会得到java.lang.ClassNotFoundException:com.amazonaws.auth.AWSCredentials错误?
我已经包含了Maven的依赖项,但是我看到了这个错误: java.lang.ClassNotFoundException:com.amazonaws.auth.AWSCredentials为什么我会得到java.lang.ClassNotFoundException:com.amazonaws.auth.AWSCredentials错误?,java,maven,jakarta-ee,amazon-web-services,amazon-s3,Java,Maven,Jakarta Ee,Amazon Web Services,Amazon S3,我已经包含了Maven的依赖项,但是我看到了这个错误: java.lang.ClassNotFoundException:com.amazonaws.auth.AWSCredentials <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk</artifactId> <version>1.8.5</vers
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.8.5</version>
</dependency>
你到底是从哪里得到这个错误的?当我试图调用有这个错误的类时,我有一个类,我正在对它进行静态调用ThumbnailProcessor.processThumbnail();ThumbnailProcessor引用了AWSCredentialsy您需要提供发生这种情况的代码。在您的IDE中,您是否看到在构建路径中添加的jar?尝试更新/刷新项目。
public static String processThumbnail(String link, String keyName , String secret ) {
AmazonS3 s3Client = null;
link = StringUtils.removeEnd(link, "/");
int index = link.lastIndexOf("/");
String fileName = StringUtils.substring(link, index + 1, link.length());
String existingBucketName = "staticmedia";
String fileNameWithoutExt = StringUtils.substringBefore(fileName, ".");
String ext = StringUtils.substringAfter(fileName, ".");
InitiateMultipartUploadResult initResponse = null;
String randomname = null;
try {
URL url = new URL(link);
BufferedImage image = ImageIO.read(url);
image = Thumbnails.of(image).forceSize(150, 100).asBufferedImage();
randomname = String.format("%s.%s",
RandomStringUtils.randomAlphanumeric(8), ext);
StringBuilder sb = new StringBuilder(randomname);
sb.insert(0, fileNameWithoutExt + "_");
randomname = sb.toString();
ImageIO.write(image, "jpg", new File("src/main/java/" + randomname));
String filePath = "src/main/java/" + randomname;
AWSCredentials awsCredentials = new BasicAWSCredentials(keyName,
secret);
s3Client = new AmazonS3Client(awsCredentials);
InitiateMultipartUploadRequest initRequest = new InitiateMultipartUploadRequest(
existingBucketName, randomname);
initResponse = s3Client.initiateMultipartUpload(initRequest);
File file = new File(filePath);
PutObjectResult item = s3Client.putObject(new PutObjectRequest(
existingBucketName, randomname, file));
return "https://s3-us-west-2.amazonaws.com/"
+ randomname;
} catch (Exception e) {
e.printStackTrace();
s3Client.abortMultipartUpload(new AbortMultipartUploadRequest(
existingBucketName, randomname, initResponse.getUploadId()));
}
return null;
}
}