我想用Java,Eclipse和Tomcat 9.0.8创建一个Web应用程序。但我发现Tomcat服务器与其他服务器相比只有很少的库。我需要使用更多的库,并可能更新一些库。我需要使用更多的javaee库,并且可能修改已经包含在Tomcat中的一些。
我可以替换Tomcat lib文件夹中的库吗?例如,我想用版本4.0.1替换servlet-api.jar版本4.0.0。
我可以在该文件夹中添加更多库吗?例如,javaee.jar?
答案 0 :(得分:2)
"我需要以...更新一些[库]" (来自你的问题)和"我正在学习tomcat的工作原理" (从你的评论中)对我来说听起来不合时宜。
当然,您可以随意在tomcat上更改自己喜欢的内容。你必须意识到,没有人会做同样的事情并进行测试。如果您遇到问题并打算在此处或其他地方发布任何问题,您应该包括这样一个事实,即您已经替换了tomcat经过测试的几个库。
将类添加到公共类路径中可能有也可能没有意义。 https://tomcat.apache.org/tomcat-9.0-doc/class-loader-howto.html建议不要在那里添加应用程序类:
Common - 此类加载器包含其他类 对Tomcat内部类和所有Web应用程序都可见。
通常,不应将应用程序类放在此处。 ...
话虽如此,是的,您可以在那里添加课程,并且它们可供所有网络应用程序使用。但是,在运行时不能更新任何这些类 - 与Web应用程序中包含的应用程序不同。 Webapps可以在正在运行的tomcat中重新部署。对公共类加载器中的类的更新需要重新启动tomcat。
正如你所提到的那样,你也需要javaee.jar,你可能会对TomEE感到更开心,与Tomcat库存相比,它会捆绑更多的罐子。