mac中的idea开发踩坑

习惯了windows开发之后,突然专用mac系统开发还是有些不习惯的。
那些快捷键和风格的不习惯就不说了,主要谈谈容易遇到的一些编译部署java项目的坑。
1、我司的项目是一个spring mvc的maven项目,需要tomcat进行启动。
前面经过一系列的基础配置之后,终于到了启动这里,但是居然报错
error=13 Permission denied
我在windows使用tomcat部署,不才,从没遇到过,奈何这里就遇到了。后来查了之后大概知道是tomcat中的执行文件cataline.sh没有执行权限。
太坑爹了,一个执行脚本没有执行权限。mac真实全民皆文件,啥都要权限。
所以需要去tomcat的目录下面,给他开权限就行了。
chmod -R 777 apache-tomcat-9.0.33

2、还有一类错误,其实本质和1是一样的,但是他的提示是这样的。...Unable to open debugger port (127.0.0.1:61257):java.net.SocketException "Socket closed"
当看到这个提示,大家一定和我一样,第一眼先看看是不是端口号被占用了,结果去mac的控制台执行lsof -i:1099之类的命令,发现无事发生······
你甚至去问同事,朋友他们的netstat命令和lsof命令是否可以正常使用,直到最后怀疑公司发给你的mac笔记本是不是有什么bug。
但是实际上,这个问题和1一毛一样,只要点开event log就知道了。
所以解决方式同上。

3、如果遇到了out of memory。一定要观察两点:(1)出错阶段,(2)报错信息。

比如是在编译阶段报错,且报错java heap size。
那就要去编译节点的 heap堆操作。如果自顾自去整tomcat的大小,最后就是白折腾。


编译阶段的堆内存

同理,如果是在tomcat启动阶段报错,那就要去调整tomcat的内存


tomcat的内存

如果是在maven执行阶段报错,那可能需要调整的就是maven的内存了。


调整maven内存

然后需要注意的一定是报错信息。人家报错是heap就去调整heap,报错是PermGen space 就去调整永久区。诸如此类。

你可能感兴趣的:(mac中的idea开发踩坑)