【问题标题】:Java Application Runs on Production, but not on Local Weblogic ServerJava 应用程序在生产环境中运行,但不在本地 Weblogic 服务器上
【发布时间】:2017-09-09 14:02:40
【问题描述】:

出于安全/隐私问题,应用程序名称已替换为~application~;应用程序中有 5 个项目:第一个项目名称已替换为 ~project1~,所有其他项目名称保持不变,Model、RM-Model、ViewController 和 WebServices。文件位置用户名已替换为 ~user~。包和地图已替换为~package~.~map~;凭证名称已替换为 ~credential~;并且 webapp 名称已替换为 ~webapp-name~。错误日志中的所有其他名称(即类、服务器、符号和方法)均保持不变。

所有库、方法、servlet、实际应用程序和项目名称都存在于生产服务器上,并且在构建过程中不存在编译错误。此错误仅在应用程序到达构建过程的部署阶段时存在。

存在限制,Java JDK 1.6、JDeveloper 11g 和 Weblogic 10.3;还有一些其他的,与这个问题无关。下面是构建过程中的控制台日志:

[Running application ~application~ on Server Instance IntegratedWebLogicServer...]

[05:51:50 AM] Web 模块 ~project1~WebApp.war 在项目 ~project1~.jpr 中被识别

[05:51:50 AM] EJB 模块 ModelEJB.jar 在项目 Model.jpr 中被识别

[05:51:50 AM] EJB 模块 RM-ModelEJB.jar 在项目 RM-Model.jpr 中被识别

[05:51:50 AM] Web 模块 ViewControllerWebApp.war 在项目 ViewController.jpr 中被识别

[05:51:50 AM] Web 模块 WebServicesWebApp.war 在项目 WebServices.jpr 中被识别

[05:51:50 AM] ---- 部署开始。 ----

[05:51:50 AM] 目标平台是 (Weblogic 10.3)。

[05:51:53 AM] 检索现有应用程序信息

[05:51:53 AM] 运行依赖分析...

[05:51:53 AM] 正在部署 6 个配置文件...

[05:51:54 AM] 将 Web 应用程序模块写入 C:\Users\~user~\AppData\Roaming\JDeveloper\system11.1.2.4.39.64.36.1\o.j2ee\drs\~application~ \WebServicesWebApp.war

[05:52:12 AM] 将 Web 应用程序模块写入 C:\Users\~user~\AppData\Roaming\JDeveloper\system11.1.2.4.39.64.36.1\o.j2ee\drs\~application~ \ViewControllerWebApp.war

[05:52:12 AM] 将 EJB 模块写入 C:\Users\~user~\AppData\Roaming\JDeveloper\system11.1.2.4.39.64.36.1\o.j2ee\drs\~application~\ RM-ModelEJB.jar

[05:52:12 AM] 将 EJB 模块写入 C:\Users\~user~\AppData\Roaming\JDeveloper\system11.1.2.4.39.64.36.1\o.j2ee\drs\~application~\模型EJB.jar

[05:52:12 AM] 将 Web 应用程序模块写入 C:\Users\~user~\AppData\Roaming\JDeveloper\system11.1.2.4.39.64.36.1\o.j2ee\drs\~application~ \~project1~WebApp.war

[05:52:13 AM] 警告:从 application.xml 中删除的未解析元素

[05:52:13 AM] 警告:从 application.xml 中删除的未解析元素

[05:52:13 AM] 警告:从 application.xml 中删除的未解析元素

[05:52:13 AM] 警告:从 application.xml 中删除的未解析元素

[05:52:13 AM] 警告:从 application.xml 中删除的未解析元素

[05:52:13 AM] 将企业应用程序模块写入 C:\Users\~user~\AppData\Roaming\JDeveloper\system11.1.2.4.39.64.36.1\o.j2ee\drs\~application~

[05:52:13 AM] 正在部署应用程序...

无法迁移凭证文件夹/密钥 ~application~.~package~.~map~/anonymous#~credential~.Reason oracle.security.jps.service.credstore.CredentialAlreadyExistsException: JPS-01007: The credential with map ~application ~.~package~.~map~ 和 key anonymous#~credential~ 已经存在..

无法迁移凭证文件夹/密钥 ~application~.~package~.~map~/anonymous#local.Reason oracle.security.jps.service.credstore.CredentialAlreadyExistsException: JPS-01007: 带有映射 ~application~ 的凭证。 ~package~.~map~ 和 key anonymous#local 已经存在..

'weblogic.application.ModuleException: 无法加载 webapp: '~webapp-name~-context-root''

weblogic.application.ModuleException: 无法加载 webapp: '~webapp-name~-context-root'

在 weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:393)

在 weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)

在 weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)

在 weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)

在 weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

截断。查看完整堆栈跟踪的日志文件

引起:java.lang.ClassNotFoundException:~package~.~map~.SearchServlet

在 weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)

在 weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)

在 weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)

在 java.lang.ClassLoader.loadClass(ClassLoader.java:305)

在 java.lang.ClassLoader.loadClass(ClassLoader.java:246)

截断。查看日志文件以获取完整的堆栈跟踪 >

weblogic.application.ModuleException: 无法加载 webapp: '~webapp-name~-context-root'

在 weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:393)

在 weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)

在 weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)

在 weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)

在 weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

截断。查看完整堆栈跟踪的日志文件

引起:java.lang.ClassNotFoundException:~package~.~map~.SearchServlet

在 weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)

在 weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)

在 weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)

在 java.lang.ClassLoader.loadClass(ClassLoader.java:305)

在 java.lang.ClassLoader.loadClass(ClassLoader.java:246)

截断。查看日志文件以获取完整的堆栈跟踪 >

[05:52:18 AM] 部署已取消。

[05:52:18 AM] ---- 部署未完成 ----.

[05:52:18 AM] 远程部署失败 (oracle.jdevimpl.deploy.common.Jsr88RemoteDeployer)

由于部署到 IntegratedWebLogicServer 时出错,无法运行应用程序 ~application~。

[Application ~application~ 已停止并从服务器实例 IntegratedWebLogicServer 取消部署]

我的问题是,我该如何解决这个问题,SearchServlet 存在于第一个项目中,并且在运行序列期间没有编译错误和其他挂起,直到它实际到达部署阶段。同样在 Weblogic 服务器的管理控制台上,应用程序显示为部署失败,但在下一次尝试构建时清除。预先感谢您为成功运行此应用程序提供的任何帮助。

编译 4 个源

编译~\TransferServlet.java

编译~\SearchServlet.java

编译~\~servlet1~.java

编译~\~servlet2~.java

编写~\TransferServlet.class

编写~\~servlet1~.class

编写 ~\SearchServlet.class

编写~\~servlet2~.class

[7:47:42 AM] Appc 编译开始

正在编译...

[7:47:45 AM] Appc 编译结束

没有什么可构建的。

没有什么可构建的。

[7:47:46 AM] Appc 编译开始

正在编译...

[7:47:50 AM] Appc 编译结束

[7:47:50 AM] 成功编译:0 个错误,0 个警告。

【问题讨论】:

    标签: servlets weblogic oracle-adf jdeveloper java-6


    【解决方案1】:

    引起:java.lang.ClassNotFoundException:~package~.~map~.SearchServlet

    您的应用程序缺少 SearchServlet.class。

    【讨论】:

    • 文章末尾的段落表明该课程存在并且不包含任何错误
    • 编译日志已添加到帖子末尾
    • 您需要提供有关包装(耳朵、战争、罐子)的信息,因为关于错误,正如@Florin Marcus 所说,找不到SearchServlet 类。
    猜你喜欢
    • 2020-08-04
    • 2017-09-11
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    相关资源
    最近更新 更多