将项目中lib下jar包合并到Tomcat中lib下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将项目中lib下jar包合并到Tomcat中lib下相关的知识,希望对你有一定的参考价值。
参考技术A 将项目打成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 下
aide如何导入jar
Android Studio中jar包放在libs目录下,jni编译的so库存放在libs目录下的armeabi目录中。导入步骤:
1. 右键app目录,find path,即打开app目录。
2. 在libs目录下新建文件夹,名字为 armeabi,注意名字不能改。
3. 将jar复制到libs目录下。
4.将.so库文件复制到armeabi目录下即可。 参考技术A 这个我刚刚解决,用文件管理器把jar包复制到APP下,然后创建一个与src同级的libs目录把jar包丢进去。然后用AIDE点进libs文件夹,对着xxx.jar长按,选择"添加库文件到项目"就好了。
无论AIDE中Android项目还是Java项目,都可以这么解决。
添加好之后,然后在项目里import就好了。
😂给个赞再走吧 参考技术B 先写一段代码在aide一个Java里,用MT管理器把jar放lids里复制到app项目里,然后运行,太麻烦了,直接艾特我,我给你我QQ,然后教你吧 参考技术C 把jar包放到aide的libs目录下然后刷新就可以了 参考技术D 不知道。。。
以上是关于将项目中lib下jar包合并到Tomcat中lib下的主要内容,如果未能解决你的问题,请参考以下文章
老版本tomcat下lib的jar包是不是可以用新版本的jar包覆盖替换
对Tomcat启动或运行时,项目对jar包依赖路径的一些粗浅认知