Đầu tiên của tất cả Im mới để JAVA AWS Eclipse Maven Tomcat ... Im nhận được lỗi sau trong khi thử mã sau .. Lỗi là "HTTP Status 500 - java. lang.NoClassDefFoundError: không thể khởi tạo lớp com.amazonaws.services.sqs.AmazonSQSClient" ...Không thể khởi tạo lớp com.amazonaws.services.sqs.AmazonSQSClient
package sms.pii.webservice;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.sqs.AmazonSQS;
import com.amazonaws.services.sqs.AmazonSQSClient;
import com.amazonaws.services.sqs.model.*;
public class AWSSimpleQueueServiceUtil {
public BasicAWSCredentials credentials;
public AmazonSQS sqs;
public AWSSimpleQueueServiceUtil(){
try{
String accessKey= "xxxxxx";
String secretKey= "xxxxxxxx";
this.credentials = new BasicAWSCredentials(accessKey,secretKey);
this.sqs = new AmazonSQSClient(this.credentials);
//this.sqs.setEndpoint("https://sqs.ap-southeast-1.amazonaws.com");
}
catch(Exception e){
System.out.println("exception while creating awss3client : " + e);
}
}
public String createNewQueue(String queueName){
CreateQueueRequest createQueueRequest = new CreateQueueRequest(queueName);
String queueUrl = this.sqs.createQueue(createQueueRequest).getQueueUrl();
return queueUrl;
}
public String getQueueUrlByName(String queueName){
GetQueueUrlRequest getQueueUrlRequest = new GetQueueUrlRequest(queueName);
return this.sqs.getQueueUrl(getQueueUrlRequest).getQueueUrl();
}
public ListQueuesResult listAllQueues(){
return this.sqs.listQueues();
}
}
package sms.pii.webservice;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import sms.pii.webservice.AWSSimpleQueueServiceUtil;
@Path("/Queue")
public class TestSQS {
@GET
@Path("/Name/{name}")
@Produces(MediaType.APPLICATION_JSON)
public Student produceJSON(@PathParam("name") String name) {
Student st = new Student(name, "kumar",55,21);
return st;
}
@GET
@Path("/createQueue/{name}")
@Produces(MediaType.TEXT_PLAIN)
public String createQueue(@PathParam("name") String queueName){
AWSSimpleQueueServiceUtil test = new AWSSimpleQueueServiceUtil();
return test.createNewQueue(queueName);
}
@GET
@Path("/getQueueUrl/{name}")
@Produces(MediaType.TEXT_PLAIN)
public String getQueueUrl(@PathParam("name") String queueName){
AWSSimpleQueueServiceUtil test = new AWSSimpleQueueServiceUtil();
return test.getQueueUrlByName(queueName);
}
}
pom.xml
<dependencies>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.8.9.1</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
Tôi đã bỏ lỡ "Phụ thuộc Maven" (Giai đoạn cấu hình B) .... Thưởng thức anh chàng 100% tiền thưởng .. – Naveenkumar
bởi vì dự án nhật thực của bạn không được tạo thành "dự án Maven".bạn có thể tạo một dự án mới trong Eclipse: File -> New -> Other. sau đó chọn trong Wizard "Maven Project". sau đó cấu hình maven của bạn dưới dạng nguyên mẫu Webapp. Là nó ổn ? – arthur
Vâng, tôi đã tạo ra như dự án web sau đó tôi chuyển đổi sang dự án maven .. Có tôi đã làm một sai lầm .. Im 15day bé java .. :-) sẽ sửa trong tương lai .. – Naveenkumar