大概率是因为自己对Tomcat以及jvm不熟;
今天上午一直在碰到问题解决问题,把问题记录一下,理解一下为什么会出现这种问题。web项目启动的时候:
1.jrebel的team url问题
team url经常会过期,网上能找到可以用的不容易
解决:使用http://jrebel.yanjiayu.cn:9001/64245b6b-ef68-4bdc-aabf-7f8e85a540e4
后面UUID部分可以替换,在线生成https://www.uuidgenerator.net/
参考: www.cnblogs.com/joyny/p/102…
2.jvm内存不足
今天在启动了几次之后,突然maven不能正常import,并且在maven构建过程中或者后期compiler过程中报错:
# There is insufficient memory for the Java Runtime Environment to continue.# Native memory allocation (malloc) failed to allocate 1338256 bytes for Chunk::new复制代码
解决:
- 一开始以为是虚拟机内存设置的太少,后面在D:apache tomcatapache-tomcat-8.0.51bin目录下的catalina.bat目录下设置了jvm启动参数-Xss:set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m,仍然不行; catalina.bat是Tomcat中最重要的脚本,比如Tomcat的启动和关闭都是catalina.bat完成的。Tomcat会在终端打印catalina log,见图2图1 catalina.bat路径
![cbb8c2d7aa9b81d32b3393ec54e8328c.png](https://i-blog.csdnimg.cn/blog_migrate/3c6317ed2bd4b7e9572e8555f1579b3a.jpeg)
图2 catalina log
- 第二步:查看内存,发现内存占用也才百分之50左右;
- 最后,查看Tomcat相关进程是否未关闭,手动kill了1099和8080端口的所有进程;最后解决这个问题。
疑惑:为什么Tomcat在shutdown之后依然有进程在运行???
3.Artifact XXX:war: Error during artifact deployment. See server log for details.
问题:Tomcat启动就报这个错;主要是因为配置的时候war和war explode两种模式不一致。
解决:网上查了资料,这是一个常见的问题,的确也是我第二次碰到了,但是我依然不知道如何解决,现在可以总结:改变了artifact,然而Tomcat的配置中的artifact没有重新配置,就会报错。
artifact包括两种模式:
- war:发布模式,先打成war包,再发布
- war explode:直接把文件夹、视图页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。这种方式支持热部署,一般在开发的时候也是用这种方式;在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来;
explode模式下的:on update action和on frame deactivation支持update classes and resources选项(热部署)
![efdb14b084def96f63b1bc56181f4f15.png](https://i-blog.csdnimg.cn/blog_migrate/9ddf78150c7fe6234231311b7432ec66.jpeg)
步骤: 1.file---project structure-》
![cc8a91b074529aa7a9b6396b440da9b5.png](https://i-blog.csdnimg.cn/blog_migrate/72d3726af2dda6bf8a5afcf4430cc458.jpeg)
![06d745f69089ba6052fa7c009817a125.png](https://i-blog.csdnimg.cn/blog_migrate/38f5602fffed1941c3aa8f348be9be08.jpeg)
![9e18651b92d6cee8438d2f64b3e46b34.png](https://i-blog.csdnimg.cn/blog_migrate/dfdcfccc61744d0b5345672ee74b6308.jpeg)
2.步骤中最后一步一定是在deployment处;
我碰到过即使看起来都是war模式,都是一致的,却报这个错误,这是因为修改了artifact模式之后,最后没有在deployment处重新配置。
4.Tomcat启动到org.apache.catalina.startup.Catalina.start Server star就停止问题
这个也是catalina.bat中配置文件中配置项写的不对,导致Tomcat启动出错,我在修复了第3个小问题之后,这个问题就不存在了。
读者福利
为感谢各位粉丝的支持,帮助各位喜欢java的朋友,我整理了将近5个G大小的学习资料哦,资料包含了架构学习、面试集锦、硬核知识点解析,视频教程等。
转发+关注+私信发送《架构资料》即可获得免费领取方式!!
转发+关注+私信发送《架构资料》即可获得免费领取方式!!
转发+关注+私信发送《架构资料》即可获得免费领取方式!!
![9c07239972e65d64e3d8c40e346d807e.png](https://i-blog.csdnimg.cn/blog_migrate/de44e045ac991fcc46a5cd6cface2a77.jpeg)
领取资料的朋友就有一些忘记私信而错过宝贵资料,所以关键别忘了转发后私信哦!
这些资料都以整理成了PDF文档,如果有需要获取到这个群里面的文档的话帮忙转发一下然后再关注我私信回复“架构资料”得到获取方式吧!即可进群获取下载!!!
![ff9cce0e8c233537d1cca9401e6c79c3.png](https://i-blog.csdnimg.cn/blog_migrate/e141ca69224aebbd557ce9dc362cbced.jpeg)
更多Java架构进阶资料展示
![58fea049523abe9720099cc3b33cdf83.png](https://i-blog.csdnimg.cn/blog_migrate/5d36858c160656ee8715d3a28cac76df.jpeg)
![e55a4e19f61dc97fa1fcffa87e10f3f4.png](https://i-blog.csdnimg.cn/blog_migrate/73e1e71d2db70e92f931397210a45fe7.jpeg)