Jakarta ee 将P4java异常映射到Jax-RS

Jakarta ee 将P4java异常映射到Jax-RS,jakarta-ee,jboss,jax-rs,perforce,p4java,Jakarta Ee,Jboss,Jax Rs,Perforce,P4java,我正在开发一个与Perforce server交互的Web服务应用程序(连接、提交、删除、同步…),我的问题是每次我尝试午餐服务时JBOSS AS7服务器都会阻止我。这是我的课程 拜托我的朋友们我需要帮助 致意 import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; import com.perforce.p4java.exception.

我正在开发一个与Perforce server交互的Web服务应用程序(连接、提交、删除、同步…),我的问题是每次我尝试午餐服务时JBOSS AS7服务器都会阻止我。这是我的课程 拜托我的朋友们我需要帮助 致意

import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import com.perforce.p4java.exception.ConnectionException;
@Provider
public class ConnectionExceptionHandler implements ExceptionMapper<ConnectionException> {

    @Override
    public Response toResponse(ConnectionException exception) {


          return Response.status(Response.Status.SEE_OTHER).build();
    }
}

import java.io.Serializable;

public class ConnectionException extends com.perforce.p4java.exception.ConnectionException implements Serializable {

    /**
     *
     */
    private static final long serialVersionUID = 1L;
    public ConnectionException() {

        super();
    }
    public ConnectionException(String msg)   {
   super(msg);
    }
    public ConnectionException(String msg, Exception e)  {
   super(msg, e);
    }
}
导入javax.ws.rs.core.Response;
导入javax.ws.rs.ext.ExceptionMapper;
导入javax.ws.rs.ext.Provider;
导入com.perforce.p4java.exception.ConnectionException;
@提供者
公共类ConnectionExceptionHandler实现ExceptionMapper{
@凌驾
公共响应(ConnectionException异常){
返回Response.status(Response.status.SEE_OTHER.build();
}
}
导入java.io.Serializable;
公共类ConnectionException扩展com.perforce.p4java.exception.ConnectionException实现可序列化{
/**
*
*/
私有静态最终长serialVersionUID=1L;
公共连接异常(){
超级();
}
公共连接异常(字符串消息){
超级(味精);
}
公共连接异常(字符串消息,异常e){
超级(味精,e);
}
}
以及服务器异常

15:23:27,855 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC00001: Failed to start service jboss.deployment.unit."PerforceTestConnect.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."PerforceTestConnect.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "PerforceTestConnect.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
Caused by: java.lang.RuntimeException: Error getting reflective information for class com.maher.webService.WebService with ClassLoader ModuleClassLoader for Module "deployment.PerforceTestConnect.war:main" from Service Module Loader
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:85)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:70)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:55)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 5 more
Caused by: java.lang.NoClassDefFoundError: com/perforce/p4java/exception/P4JavaException
    at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.7.0_71]
    at java.lang.Class.privateGetDeclaredFields(Class.java:2499) [rt.jar:1.7.0_71]
    at java.lang.Class.getDeclaredFields(Class.java:1811) [rt.jar:1.7.0_71]
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 10 more
Caused by: java.lang.ClassNotFoundException: com.perforce.p4java.exception.P4JavaException from [Module "deployment.PerforceTestConnect.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
15:23:27855错误[org.jboss.msc.service.fail](msc服务线程1-3)MSC00001:无法启动服务jboss.deployment.unit.“PerformanceTestConnect.war”。POST_模块:服务jboss.deployment.unit.“PerformanceTestConnect.war”中的org.jboss.msc.service.StartException。POST_模块:无法处理部署的阶段POST_模块“性能测试连接。战争”
在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
在org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
在org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[rt.jar:1.7.071]
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[rt.jar:1.7.071]
在java.lang.Thread.run(Thread.java:745)[rt.jar:1.7.071]
原因:java.lang.RuntimeException:从服务模块加载器获取类com.maher.webService.webService的反射信息时出错,该类的类加载器ModuleClassLoader用于模块“deployment.PerformanceTestConnect.war:main”
位于org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
位于org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)
位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:85)
位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:70)
位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:55)
在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
…还有5个
原因:java.lang.NoClassDefFoundError:com/perforce/p4java/exception/P4JavaException
在java.lang.Class.getDeclaredFields0(本机方法)[rt.jar:1.7.0_71]
在java.lang.Class.privateGetDeclaredFields(Class.java:2499)[rt.jar:1.7.0\u 71]
在java.lang.Class.getDeclaredFields(Class.java:1811)[rt.jar:1.7.0_71]
位于org.jboss.as.server.deployment.reflect.ClassReflectionIndex.(ClassReflectionIndex.java:57)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
位于org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
…还有10个

原因:java.lang.ClassNotFoundException:com.perforce.p4java.exception.P4JavaException来自服务模块加载器的[Module“deployment.PerforceTestConnect.war:main] 位于org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) 位于org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) 位于org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) 位于org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) 位于org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
java.lang.ClassNotFoundException:com.perforce.p4java.exception.P4JavaException意味着jboss无法在应用程序的类路径中找到p4java jar文件。您是否将其放入war文件的库部分?是的,我将jar添加到build path@Bryan Pendleton