Java 无法初始化类com.amazonaws.services.sqs.AmazonSQSClient

Java 无法初始化类com.amazonaws.services.sqs.AmazonSQSClient,java,eclipse,maven,tomcat,amazon-web-services,Java,Eclipse,Maven,Tomcat,Amazon Web Services,首先,我是JAVA AWS Eclipse Maven Tomcat新手。。。我在尝试以下代码时遇到以下错误。。错误为“HTTP状态500-java.lang.NoClassDefFoundError:无法初始化类com.amazonaws.services.sqs.AmazonSQSClient” } pom.xml <dependencies> <dependency> <groupId>com.sun.jersey</groupId>

首先,我是JAVA AWS Eclipse Maven Tomcat新手。。。我在尝试以下代码时遇到以下错误。。错误为“HTTP状态500-java.lang.NoClassDefFoundError:无法初始化类com.amazonaws.services.sqs.AmazonSQSClient”

}

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>

泽西岛
泽西服务器
1.9
泽西岛
泽西json
1.9
亚马逊网站
aws java sdk
1.8.9.1
公用记录
公用记录
1.1.1

java.lang.NoClassDefFoundError的简单意思是:

“嘿,伙计,当你(自动地)在Eclipse中构建你的项目时 (和/或在Maven中)(编译时),您的IDE能够找到这个类 com.amazonaws.services.sqs.AmazonSQSClient。但是当您想要在 服务器(运行时),我再也找不到了。“

因此,您在运行时缺少一个以前编译过的类

现在请这样做:

A-清洁阶段

  • 在eclipse中,转到菜单栏->清除->清除所有项目
  • 如果eclipse还不支持maven(例如没有m2e):打开命令行(Windows或Linux或其他),移动到包含eclipse项目的目录并键入“mvnclean”
  • 如果eclipse确实支持m2e,那么直接在eclipse中的项目上右键单击->maven->更新项目
  • B-配置阶段

  • 在eclipse项目中,右键单击->部署程序集。您将看到一种带有“source”和“deploypath”列的表。如果没有源代码为“Maven Dependency”的行,请单击按钮add->Java Build path Entries->next按钮->“Maven Dependency”确认您的行

  • 添加“Maven依赖项”后,请确保其部署路径值为“WEB-INF/lib”

  • C-部署和运行时

  • 右键单击项目->maven安装

  • 右键单击项目->运行方式(或调试方式)->选择tomcat并启动它。到那时,您的项目必须已配置


  • 确保您已经安装了eclipse插件m2e。这将使您在eclipse/maven中的开发生活变得更加轻松。

    我错过了“maven依赖”(B-配置阶段)。。。。享受100Bounty dude吧。这是因为你的eclipse项目不是作为“Maven项目”创建的。你可以在eclipse中创建一个新项目:File->new->Other。然后在向导中选择“Maven项目”。在中,然后将maven配置为Webapp原型。可以吗?是的,我创建了一个web项目,然后我转换成了maven项目。。我犯了一个错误。。我是爪哇岛的15天宝宝…-)你可以从头开始。我觉得你的项目不大。对旧项目(java文件)进行备份,然后在eclipse中开始一个新的maven项目,如前所述。然后将*.java文件复制到/src/main/java.:-)文件夹中的新项目中,我无法粘贴我的实际项目,知道吗??在这里我想澄清我的疑问。。。创建src/main/java是我知道的maven最基本的功能。。。谢谢你,伙计。。。
    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);
    }
    }
    
    <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>