首页 > 解决方案 > 使用tomcat 9服务器在单独的eclipse工作区中运行相同的应用程序会导致共享类加载器?

问题描述

我在 2 个指向 tomcat 9 目录的不同 eclipse 工作区中有相同的应用程序。在 tomcat 服务器中,我将 catalina base 指向一个 eclipse 工作区,而 catalina home 指向另一个 eclipse 工作区。仍然指向 catalina 基的一个类(使用 log4j 的自定义记录器类)会导致在服务器启动时初始化的类的 classnotfound 异常,尽管我在类路径中有可用的 jar(指向外部 jar)。两个工作区都指向该类 jar 作为位于不同位置的外部 jar。

例如: wrkspace 1 点外部 jar 可在 c:\folder1 和 wrkspace 2 点外部 jar 可在 c:\folder2

应用程序在工作空间中运行,tomcat 未指向 catalina 基础(默认服务器位置),但应用程序无法启动 catalina 基础所指向的位置。不知道为什么一个工作区无法启动 tomcat 服务器而另一个能够启动。这个问题与共享类加载器有关吗?请对这个问题有所了解。

卡特琳娜属性:

common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar"
server.loader=
shared.loader="${catalina.base}/shared/lib","${catalina.base}/shared/lib/*.jar","${catalina.home}/shared/lib","${catalina.home}/shared/lib/*.jar" 

tomcat directory:
Home: C:\Program Files\Apache Software Foundation\Tomcat 9.0
Base: C:\Tomcat_instance_1

应用服务器位置失败

运行应用服务器位置默认] 2

标签: eclipsejava-8tomcat9

解决方案


推荐阅读