Java 在weblogic上部署Jersey REST时出错(<;BEA-101216>;Servlet:";RestServlet";未能在Web应用程序“网关”中启动时预加载)

Java 在weblogic上部署Jersey REST时出错(<;BEA-101216>;Servlet:";RestServlet";未能在Web应用程序“网关”中启动时预加载),java,rest,jersey,weblogic,web-deployment,Java,Rest,Jersey,Weblogic,Web Deployment,无法在weblogic服务器上部署jersey REST,是否存在特定于weblogic的REST服务配置 完成堆栈跟踪- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_

无法在weblogic服务器上部署jersey REST,是否存在特定于weblogic的REST服务配置

完成堆栈跟踪-

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
                         "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
 <servlet>
  <servlet-name>FrontController</servlet-name>
  <display-name>FrontController</display-name>
  <description>Front Controller for handling requests</description>
  <servlet-class>com.obopay.icici.FrontController</servlet-class>
 </servlet>
 <servlet>
  <servlet-name>RestServlet</servlet-name>
  <display-name>RestServlet</display-name>
  <description>Rest Controller for handling http rest requests</description>
  <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
  <init-param>
   <param-name>com.sun.jersey.config.property.packages</param-name>
   <param-value>com.obopay.ebp.auth.resources</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>FrontController</servlet-name>
  <url-pattern>/siAuth</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>FrontController</servlet-name>
  <url-pattern>*.do</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>FrontController</servlet-name>
  <url-pattern>/failureResponse</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>FrontController</servlet-name>
  <url-pattern>/successResponse</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>RestServlet</servlet-name>
  <url-pattern>/*</url-pattern>
 </servlet-mapping>
 <session-config>
  <session-timeout>5</session-timeout>
 </session-config>
 <!-- Define an error handler for 404 pages -->
 <error-page>
  <error-code>404</error-code>
  <location>/jsp/error.jsp</location>
 </error-page>
 <!-- Define an error handler for java.lang.Throwable -->
 <error-page>
  <exception-type>java.lang.Throwable</exception-type>
  <location>/jsp/error.jsp</location>
 </error-page>
 <login-config>
  <auth-method>BASIC</auth-method>
 </login-config>
</web-app>
2018年4月25日下午7:01:53 com.sun.jersey.server.impl.application.WebApplicationImpl initiate 信息:正在启动Jersey应用程序,版本“Jersey:1.2 05/07/2010” 2018年4月25日下午02:11 7:01:53 com.sun.jersey.server.impl.application.WebApplicationImpl processRootResources严重:ResourceConfig实例没有 包含任何根资源类。 (StubLifecycleHelper.java:48) 在 weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539) 在 weblogic.servlet.internal.WebAppServletContext.prelowservlet(WebAppServletContext.java:1981) 在 weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1955) 在 weblogic.servlet.internal.WebAppServletContext.preload资源(WebAppServletContext.java:1874) 在 weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3155) 在 weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1518) 在 weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:484) 在 weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427) 在 weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:54) 在 weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) 在 weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:201) 在 weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:249) 在 weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427) 在 weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:54) 在 weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) 在 weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:28) 在 weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:672) 在 weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:54) 在 weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) 在 weblogic.application.internal.EarDeployment.activate(EarDeployment.java:59) 在 weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161) 在 weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79) 在 weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184) 在 weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361) 在 weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:52) 在 weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200) 在 weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:31) 在 weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240) 在 weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:170) 在 weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:124) 在 weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:181) 在 weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:97) 位于weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64) 在weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)中 weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

web.xml-

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
                         "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
 <servlet>
  <servlet-name>FrontController</servlet-name>
  <display-name>FrontController</display-name>
  <description>Front Controller for handling requests</description>
  <servlet-class>com.obopay.icici.FrontController</servlet-class>
 </servlet>
 <servlet>
  <servlet-name>RestServlet</servlet-name>
  <display-name>RestServlet</display-name>
  <description>Rest Controller for handling http rest requests</description>
  <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
  <init-param>
   <param-name>com.sun.jersey.config.property.packages</param-name>
   <param-value>com.obopay.ebp.auth.resources</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>FrontController</servlet-name>
  <url-pattern>/siAuth</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>FrontController</servlet-name>
  <url-pattern>*.do</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>FrontController</servlet-name>
  <url-pattern>/failureResponse</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>FrontController</servlet-name>
  <url-pattern>/successResponse</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>RestServlet</servlet-name>
  <url-pattern>/*</url-pattern>
 </servlet-mapping>
 <session-config>
  <session-timeout>5</session-timeout>
 </session-config>
 <!-- Define an error handler for 404 pages -->
 <error-page>
  <error-code>404</error-code>
  <location>/jsp/error.jsp</location>
 </error-page>
 <!-- Define an error handler for java.lang.Throwable -->
 <error-page>
  <exception-type>java.lang.Throwable</exception-type>
  <location>/jsp/error.jsp</location>
 </error-page>
 <login-config>
  <auth-method>BASIC</auth-method>
 </login-config>
</web-app>
决心

问题不在于weblogic服务器,问题在于我的源代码位于单独的文件夹中,而不是src,因此weblogic无法在src文件夹中找到要扫描的包,因此在pom.xml中添加以下插件后,部署成功-

<plugin>
   <artifactId>maven-resources-plugin</artifactId>
   <version>3.0.2</version>
   <executions>
      <execution>
         <id>copy-source</id>
         <phase>generate-sources</phase>
         <goals>
            <goal>copy-resources</goal>
         </goals>
         <configuration>
            <outputDirectory>co/src</outputDirectory>
            <overwrite>true</overwrite>
            <resources>
               <resource>
                  <directory>${basedir}/co/EBP</directory>
               </resource>
            </resources>
         </configuration>
      </execution>
   </executions>
</plugin>

maven资源插件
3.0.2
复制源
生成源
复制资源
文书主任/高级文书主任
真的
${basedir}/co/EBP
通过使用这个插件,我将saperate文件夹的源代码复制到src文件夹中,overwrite为true。因此,源代码可以在src文件夹中使用

这个问题也可以通过在.classpath文件中提到源文件夹来解决