**
个人宣言:展示足够的细节,让您也可以达到我做到的效果,最好的技术不是藏匿,而是不断输出,帮助到别人!
**
问题描述
我发送邮件的项目在本机idea可以发送无碍,打包用windows的cmd执行也是可以的,对了,我打的是jar包,以main函数牵头执行,可以下载代码加载到idea看看。
问题是放到linux中就不动了,用jar -jar **.jar执行死活没有效果,我纠结了好久好久。
而且有命令查看,项目的确启动了,后台的进程也是有的啊:
我思考流程:
其实我在发送邮箱之前是有awt的UI界面操作的,会不会是这个原因导致的呢?
于是我改了代码,在项目启动时候就执行UI操作,再次部署到linux,果然有毒:
UI操作报错了!!,我想到了实验科学的单一变量对比原则,于是,我果断将其余无关的操作都干掉了,就留下一个邮箱发送的功能,可以参见我上传的代码。
我建议你也这样干,免得其他功能报错干扰到测试。
干掉之后,就是邮箱报错了:
再次部署linux后:
分析: linux区别于windows的点是什么? 权限控制繁琐,DNS解释不够强大,防火墙容易发飙,墙你的功能。
这里明显就是连接不上,我先把防火墙关闭了,不同的linux关闭防火墙的方式略有不同,我用的centos,不会的同学可以看下面我引用的
地址:https://jingyan.baidu.com/album/ff42efa9fd8c1cc19e2202bb.html?picindex=2
然后修改了linux的host,添加了邮箱地址的ip
再部署linux测试
通了!通了!通了!
回归对比测试
我将linux的hosts文件我加上的内容干掉,再次执行
这样就又失败了,哈哈哈,果然是DNS惹的祸的
有问题可以给我留言,我的微信是