记录Mac下痛苦的部署项目

环境:Mac+eclipse+tomcat7+jdk7

虐心过程:

下载好eclipse之后,安装好svn插件之后,开始从公司的仓库检出公司的项目,检出项目之后,问题出现

问题1:项目全是❌,这种情况大家都懂,去project facts 那里配置一下jdk版本和web版本即可。

问题2:经过步骤1,还是报了一个the type of javax.servlet这个错误,这个大家也懂,就是把tomcat的lib下的servlet.jar通过build path下的add external jar添加一下即可。至此项目正常编译成功。

问题3:因为我用的是Mac,在windows上没遇到过,在启动的过程中会报了一个,can't assign requested address.去网上找了很久,都说要禁用Mac的IPV6,我觉得,禁用之后如果在要开启怎么办?我去找开启IPV6的方法,很麻烦,果断放弃。最后的解决方法很简单,配置一下jvm options,配置为 -Djava.net.preferIPv4Stack=true 即可。感谢这位博主的分享。

问题4:启动项目之后由于tomcat的timewait时间默认为45,比较小,大家也都懂,修改一下,双击你的server,就会看到在右侧有timewait选项,修改即可。

问题5:启动tomcat发现,pergenspace异常,这里大家都懂,我也不废话,配置一下jvm option即可,可以参考这里

小提示:编译项目之前最好去eclipse或者my eclipse下的Java compliar下配置一下编译的Java版本,和你自己配置的Java版本一样即可。

问题6:最恶心的问题来了,如果你此时也是同样问题,一定要看。项目部署到tomcat中,启动tomcat,会报一堆jar缺少的问题,是此时自己的jar包是全部引入的。这时如果你去找解决答案,基本的答案是让你去配置deployment assemby。我也配置了一下,但是配置之后就会出现这个奇怪的现象

 

原来我没有配置deployment assembly之前,这里只有一个Spring-web-4.0.0.RELEASE.jar,但是配置了之后会出现两个,网上的答案90%都是配置了deployment assembly之后,只出现一个,并且项目可以正常跑通。

这时在eclipse下启动不会报错,但是当你的项目在tomcat下发布成功,不一会,tomcat又会再发布一个和你一样的项目,这时,你的server下 面又会多出一个spring-web-4.0.0.RELEASE.jar,这个成功之后,不一会,tomcat又会发布,如果你一直让tomcat运行,你就会发现tomcat永远处在发布项目之中,并且你的server下会越来越多相同的jar

在网上找了N天都没找到解决方案,今天下班的时候去找帖子,在茫茫帖子之中找到一个,最终得以解决。

首先很感谢 这位博主的帖子解决方案为,在eclipse左侧server那里,打开server.xml,将<Host>里的<Context>的reloadable设置为false,即可解决。

到此为止,项目正常运行。

在此过程中感谢诸多博主的分享。

如果想要了解build path和deployment assembly的区别,可以参考这位博主的博客。感谢。

备注:现在在eclipse的项目可以正常跑起来。但是my eclipse2017和idea下还是同样的问题,在my eclipse2017中经过上述步骤,当然不包括修改XML文件那一步,启动tomcat时会报找不到WebXmlapplicationContext这个class的问题,原因应该还是经过deployment assembly之后,会有多个jar,导致多个容器出现,造成错误,解决方法还没找到。

疑惑

打开本地tomcat的server.xml文件并没有host下并没有context这个,但是在eclipse里的tomcat的server.xml是有的。这点没搞清楚。特此记录,日后搞清楚补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值