IntelliJ 启动tomcat卡住在Deployment of web application directory解决方案(超完美解决)

一、前因

    最近项目需要经常使用maven打包发布到服务器上,打包的时候遇到缓存是很正常的事情,按常规都是使用 maven clean 命令清理target文件夹,但在清理次数多了的时候偶尔发现:清理完成后使用IntelliJ启动tomcat测试时,发现程序一直卡在这里

18-Feb-2019 16:32:51.812 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [D:\Java\apache-tomcat-8.5.34\webapps\manager]
18-Feb-2019 16:32:51.969 信息 [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
18-Feb-2019 16:32:52.021 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [D:\Java\apache-tomcat-8.5.34\webapps\manager] has finished in [205] ms

这个问题令我很懊恼。在网上查阅一些资料发现大量文档都是使用增加虚拟机堆内存大小来解决这个问题

在catalina.bat 文件中设置了jvm参数 set JAVA_OPTS= -Xmx1024M -Xms512M -XX:MaxPermSize=256m。

但我尝试过后并没有什么好转,程序依旧跑不起来。

二、思路

该篇文章提供了思路:

https://segmentfault.com/q/1010000012009206/a-1020000016238241

http://www.myexception.cn/other/1998827.html

       从网络上了解,artifact是一种用于装载项目资产以便于测试,部署,或者分布式软件的解决方案。例如集中编译class,存档java应用包,web程序作为目录结构,或者web程序存档等。因为使用IntelliJ的好处是不用把代码重新发布到本地的tomcat中,IntelliJ自己会虚拟一个tomcat,程序直接在上面跑,免除了拷贝代码操作(MyEclipse就是这个干的)。

      日志上一直停止在Deployment of web application directory中,我们可以从IntelliJ虚拟出来的tomcat来入手。

 

参考正常启动的子项目

可以发现两个路径是不一样的,这个时候我猜测,执行命令 maven clean 后把原来target文件给删除了,原有的地址也就不见了,当IntelliJ重新加载的时候搜索不到这个文件夹,就自定义一个默认输出地址,也就是“D:\baoping\Eduz-a\Eduz-wk\eduz_apis_war_exploded”。那么为什么一定要在target/eduz-apis-0.0.1-SNAPSHOT我也不得而知,欢迎知道的朋友在下方评论区评论。

三、解决方案

发现问题了,那么我们就去解决,接下来怎么解决呢,请跟着我的脚步!

修改eduz-apis:war exploded

第三步:在target文件夹下建立

target\eduz-apis-0.0.0.1-SNAPSHOT\WEB-INF
target\eduz-apis-0.0.0.1-SNAPSHOT\META-INF

在META-INF文件夹下添加MANIFEST.MF文件(可从其他项目获取)

第四步:

修改eduz-apis:war

添加eduz-apis:war

下面两张图对比,不难看出区别

正常子项目的配置如下:

下面是修改部分:

到这里Artifacts的配置修改已经完毕

接下来修改 Configurations  Tomcat Server

当所有配置完成后,需要更新Maven配置,不然可能出现找不到依赖项目

最后项目正常运行

 

 

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值