将项目中lib下jar包合并到Tomcat中lib下

将项目中lib下jar包合并到Tomcat中lib下,第1张

项目打成war包然后发布,考虑到打包的速度以及发布的速度(因为可能不止一个项目同时启动,而每个项目中可能都存在相同的jar包),    将项目中的lib下的jar包合并到Tomcat中lib文件夹下,统一部署。

但是随之可能产生的问题(异常信息部分如下):

严重: A child container failed during start

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

at java.util.concurrent.FutureTask.report(Unknown Source)

at java.util.concurrent.FutureTask.get(Unknown Source)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1119)

at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)

... 6 more

Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Ljava/lang/ClassLoader

at org.apache.catalina.startup.WebappServiceLoader.load(WebappServiceLoader.java:96)

at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1579)

at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1280)

at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:888)

at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)

at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)

at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5522)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

... 6 more

三月 21, 2018 9:44:25 上午 org.apache.catalina.core.ContainerBase startInternal

解决方法: 将Tomcat下lib包中的servlet-api.jar,复制到C:\Program Files\Java\jre1.8.0_144\lib\ext 下

将jar包导入eclipse步骤

首先在项目下创建一个文件夹,保存的jar包。

在项目名上右击,依次点击【New】-->【Floder】,打开新建文件夹窗口

输入文件夹名称【lib】,点击【ok】。通常在lib文件夹中存放从外部引入的jar包

找到要引入的jar包,鼠标选中jar包,然后按住鼠标左键不放,把jar包拖到lib文件夹中。或先复制jar包,然后在lib文件夹上右击,选择复制。此时,打开选择框,选择默认的【copy files】,点击【OK】关闭。然后就可以在lib文件夹下看到复制成功的jar包。

此时,只是把jar包复制到项目中,还不能使用。再在项目名上右击,依次选择

【Build Path】-->【Configure Build Path...】。

在打开的窗口中,先选中【Libraries】页,再从右边的按钮中点击

【add JARs...】

在打开的窗口中,依次展开本项目的项目和lib文件夹,然后选中刚才复制到项目中的jar包,然后点击【OK】关闭窗口

此时,在刚才打开的【Libraries】页中可以看到引入的jar包的名称。点击【OK】确认。

此时,在Eclipse中,就可以使用这个jar包了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11603000.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存