Eclipse Tomcat 8赢得';开始
我一直在找,但找不到答案。我刚刚升级了STS(3.2版),所以我可以试用Tomcat8(7.0.53版)。我有STS 3.6.2和Tomcat 8.0.15。添加并配置TC8服务器后,它拒绝启动,并出现以下根错误:Eclipse Tomcat 8赢得';开始,eclipse,tomcat,logging,tomcat8,tomcat-juli,Eclipse,Tomcat,Logging,Tomcat8,Tomcat Juli,我一直在找,但找不到答案。我刚刚升级了STS(3.2版),所以我可以试用Tomcat8(7.0.53版)。我有STS 3.6.2和Tomcat 8.0.15。添加并配置TC8服务器后,它拒绝启动,并出现以下根错误: java.lang.ClassNotFoundException:org.apache.juli.WebappProperties 所以我读了很多书,发现通过Juli从硬编码的commons日志切换到Log4J,并没有任何运气地遵循它。相关摘录: ApacheTomcat的内部日志使
java.lang.ClassNotFoundException:org.apache.juli.WebappProperties
所以我读了很多书,发现通过Juli从硬编码的commons日志切换到Log4J,并没有任何运气地遵循它。相关摘录:
ApacheTomcat的内部日志使用JULI,这是一种打包的日志
ApacheCommons日志的分支,默认情况下,硬编码使用
java.util.logging框架。这确保了Tomcat的内部
日志记录和任何web应用程序日志记录都将保持独立,即使
如果web应用程序使用Apache Commons日志记录
要配置Tomcat为其内部日志记录使用替代日志框架,必须替换
是硬编码的,使用java.util.logging和JULI实现
保留完整的公用日志记录发现机制。这样的
实现作为附加组件提供。如何操作的说明
将Tomcat配置为使用Log4j框架进行内部日志记录
可以在下面找到
我还发现(一个不同的问题),从这里,后者似乎有一个几乎相同的问题,没有任何解决方案
我搜索了Tomcat的bin/lib文件夹中的所有jar,没有找到这样的类(包括各种版本的Tomcat juli.jar
和Tomcat juli adapters.jar
)。除了前面链接的Tomcat8日志指南之外,我在互联网上几乎找不到任何关于这个类/接口的参考。所以,问题是:为什么Tomcat要找这个类
同样从链接的指南中,这里是它所说的:
如果使用实现
org.apache.juli.WebappProperties
interface(Tomcat的web应用程序
类加载器执行此操作)然后还对
${classloader.webappName}
,${classloader.hostName}
和
${classloader.serviceName}
将替换为web应用程序
名称、主机名和服务名
为什么我的Tomcat类加载器没有实际实现它,或者为什么它没有找到它?该接口在Tomcat-juli.jar中,而Tomcat的web应用程序类加载器实现了该接口 您不需要切换到基于log4j的日志来修复此问题 tomcat-juli.jar(应该在bin目录中)似乎在某个类路径中丢失。不确定这是否是您的配置错误,需要调整Eclipse对ApacheTomcat的集成
我建议您从ASF开始安装一个干净的Tomcat 8.0.15,确保它可以从命令行运行,然后尝试将它与STS/Eclipse集成。我们的Ant-Tomcat配置过程将Tomcat 7的Tomcat-juli.jar复制到Tomcat 8,从而导致了问题
从Apache的tomcat Extras部分获取tomcat 8的正确tomcat-juli.jar修复了这个问题。检查您正在使用的tomcat的版本。我们期望Tomcat8.5.4或更高版本现在默认。如果您想使用较旧的版本,您需要添加tomcat juli,如发行说明中所述我添加了Eclipse作为标记,因为tomcat服务器适配器来自Eclipse Webtools项目,该项目预先安装在STS中。