技术标签: java功能工具使用 java tomcat maven jar
错误情况
项目用 maven 打好 war 包后放到 tomcat 下,启动 tomcat,出现以下错误
3-Nov-2017 12:21:44.346 严重 [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/VatuuPayMap]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [[email protected]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4860)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4995)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 10 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [[email protected]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:113)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:724)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 13 more
Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: error in opening zip file
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
... 16 more
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:220)
at java.util.zip.ZipFile.<init>(ZipFile.java:150)
at java.util.jar.JarFile.<init>(JarFile.java:166)
at java.util.jar.JarFile.<init>(JarFile.java:103)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:110)
... 17 more
最后一个 Caused by 就是 java.util.zip.ZipException: error in opening zip file
但是它又不告诉我是哪个包出现了错误。
思路历程
首先检查有没有 zip 包
没有 zip 包,那剩下的只能是 jar 包。
在网上搜了一阵后,发现很多情况是在 maven 打包是就出现了这个错误,就能找到是哪个包,之后就好解决了。
但是我每次都是没有错误,成功打包
之后花式打包,调各种参数,都失败了
在这样的情况下,只能调试 tomcat 了(我想到的本办法,如果有更好的办法请告述我!!!)
之后就是调试 tomcat 源码了。
tomcat 源码 org.apache.catalina.util.LifecycleBase.init 这个位置打断点,终于发现是哪个 jar 包了。
PS
其实这个 jar 包会出问题是因为它是一个本地 jar 包,按照网上推荐的方式将它 install 到本地仓库,ide 上运行是没错的,但是打包之后就是一个空包了,但是显示的大小比正常的大。
linux命令—vi编辑器快速定位行数、删除当前行、和删除当前行后面的全部内容1、vi 编辑器如何快速定位到第N行 命令方式下 :nhttp://bbs.chinaunix.net/thread-2243934-1-1.html2、删除当前行数 dd删除当前行。(直接在vi编辑中按下字母dd即删除当前行)3、删除当前行后面的全部内容 dG是删除当前后面的全部内容(直接在vi编辑中按下字母dG即
系统的日志管理rsyslog的管理/var/log/messages ##服务信息日志/var/log/secure ##系统登录日志/var/log/cron ##定时任务日志/var/log/maillog ##邮件日志/var/log/boot.log ##系统启动日志什么类型的日志.什么级别的日志 /var/log/file ##日志采集规则...
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_程序员秘密本文网址:https://blog.csdn.net/HiWangWenBing/article/details/124838380目录第1章 5G NR规范总体概述第2章 射频系列规范: 38.101-X第3章 物理层系列规范: 38.201-X第4章 高层系列规范(L2, L3): 38.301-X第5章 接口系列规范:38.401-X第6章 终端一致性系列规范:38.501-X..
======================================================注:重要!程序员如何有效的放松身心!下班后做什么?======================================================在制作饼图或标签云时,我们通常需要很多颜色,方法有二。一是准备一组漂亮的候选颜色,二是随机生成颜色。在数量很多或不明确
Decorator装饰器,顾名思义,就是动态地给一个对象添加一些额外的职责,就好比为房子进行装修一样。因此,装饰器模式具有如下的特征:它必须具有一个装饰的对象。它必须拥有与被装饰对象相同的接口。它可以给被装饰对象添加额外的功能。用一句话总结就是:保持接口,增强性能。装饰器通过包装一个装饰对象来扩展其功能,而又不改变其接口,这实际上是基于对象的适配器模式的一种变种。它与对象的适配器模式的异同点如下。
http://www.v5xy.com/?p=858
1.暂停指令G04X(U)_/P_是指刀具暂停时间(进给停止,主轴不停止),地址P或X后的数值是暂停时间。X后面的数值要带小数点,否则以此数值的千分之一计算,以秒(s)为单位,P后面数值不能带小数点(即整数表示),以毫秒(ms)为单位。例如,G04X2.0;或G04X2000;暂停2秒G04P2000;但在某些孔系加工指令中(如G82、G88及G89),为了保证孔底的精糙度,当刀具加工至孔底时需有...
之前写过如何设置vnchttps://www.cnblogs.com/jinanxiaolaohu/p/9110002.html如果想设置vnc的分辨率的话 也很简单 如图示:vncserver -geometry 1920x1080注意连接方式选择为:然后分辨率就没有问题了.转载于:https://www.cnblogs.com/jin...
(浏览器提示“此地址访问受限”) 某些网站使用了非标准的端口,直接从Firefox方式时浏览器会提示“此地址访问受限,此地址使用了一个通常应该用于其他网页浏览的端口。解决办法:看网址最后的冒号“:”后面那个端口号是多少,然后在地址栏输入about:config,新建一个键 network.security.ports.banned.override,值就是那个端口号。
我们要知道springboot启动的时候会进行自动配置,找到META-INF/spring.factories,并进行加载到ioc容器中!!!进入到该文件中,随便找个类!点进去!!!看见@EnableConfigurationProperties({ServerProperties.class})这个注解点进ServerProperties.class这表示的意思就是类与application.yml文件进行绑定其中的prefix的值代表yml文件中的这个server后面能够点出来的各
目录SpringBoot常用注解SpringBoot整合SpringMVCSpringBoot常用注解最重要的一个注解@SpringBootApplication,其余的注解后续补充。。。@SpringBootApplication,这个注解是SpringBoot最重要的,最核心的注解,用在SpringBoot主类上,标识这是一个SpringBoot应用,用来开启SpringBoot的各项能力。这个注解是一个复合注解,由@SpringBootConfiguration、@EnableAutoCon
拆解对象:法国爱可视(ARCHOS)公司的经典之作Gmini400,Gmini400配备的是20GB硬盘,2.2英寸26万色的TFT液晶屏显示效果极佳。 拆解工具:平口小镊子和尖嘴小镊子各一把、钟表螺丝刀#0及1.4mm各一把 下面就让我们来“解剖”一下Gmini400,看看是什么样的“心脏”和“大脑”造就了Gmini400强大的数码影音娱乐功能。在拆