来自 Eclipse 的错误 运行 Jboss EAP 6.3?

Error running Jboss EAP 6.3 from Eclipse?

只有当我从 eclipse 启动 Jboss 时才会出现此错误,当我 运行 退出 eclipse 时,它​​ 运行 是正确的。

我正在使用 JBoss EAP 6.3。

    ERROR [fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.subunit."example.ear"."example-ejb.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."example.ear"."example-ejb.jar".POST_MODULE: JBAS018733: Failed to process phase POST_MODULE of subdeployment "example-ejb.jar" of deployment "example.ear"
  at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127)
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
  at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: JBAS018757: Error getting reflective information for class com.jboss.examples.ejb.ExampleSingleton with ClassLoader ModuleClassLoader for Module "deployment.example.ear.example-ejb.jar:main" from Service Module Loader
  at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:72)
  at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)
  at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:107)
  at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:92)
  at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:77)
  at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120)
  ... 5 more
Caused by: java.lang.NoClassDefFoundError: Lcom/jboss/examples/Example;
  at java.lang.Class.getDeclaredFields0(Native Method)
  at java.lang.Class.privateGetDeclaredFields(Class.java:2308)
  at java.lang.Class.getDeclaredFields(Class.java:1760)
  at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57)
  at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:68)
  ... 10 more
Caused by: java.lang.ClassNotFoundException: com.jboss.examples.Example from [Module "deployment.example.ear.example-ejb.jar:main" from Service Module Loader]
  at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197)
  at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443)
  at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431)
  at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373)
  at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118)
  ... 15 more

有谁知道发生了什么事吗?

从服务器选项卡中删除服务器中所有已部署的项目。尝试启动服务器。从 eclipse 导出 war 文件并尝试从管理控制台部署它。

或者您可以尝试重建您的项目。

这可能是因为您的构建不包含必需的 *.class 文件。

发生这种情况是因为我在 Maven 构建中使用了我的依赖项的范围。 我使用的是 provided,因此,我更改了默认范围 "compile"

有 6 个范围可用:

编译 这是默认范围,在指定 none 时使用。编译依赖项在项目的所有类路径中都可用。此外,这些依赖关系会传播到依赖项目。

提供 这很像编译,但表示您希望 JDK 或容器在运行时提供依赖项。例如,在为 Java 企业版构建 Web 应用程序时,您可以将对 Servlet API 和相关 Java EE API 的依赖设置为提供的范围,因为Web 容器提供了那些 类。此范围仅在编译和测试类路径上可用,不可传递。

运行时间 这个作用域表明依赖不是编译所必需的,而是执行所必需的。它在运行时和测试类路径中,但不在编译类路径中。

测试 该作用域表示该依赖不是应用正常使用所必需的,仅在测试编译和执行阶段可用。

系统 此范围类似于提供的范围,只是您必须显式提供包含它的 JAR。该工件始终可用,不会在存储库中查找。

导入(仅适用于 Maven 2.0.9 或更高版本) 此范围仅用于 'dependencyManagement' 部分中 pom 类型的依赖项。它表示指定的 POM 应该替换为该 POM 的 'dependencyManagement' 部分中的依赖项。由于它们被替换,具有导入范围的依赖项实际上并不参与限制依赖项的传递性。

我正在使用:

<dependency>
            <groupId>br.com.web</groupId>
            <artifactId>entity</artifactId>
            <scope>provided</scope>
        </dependency>

那我改成:

<dependency>
                <groupId>br.com.web</groupId>
                <artifactId>entity</artifactId>
            </dependency>