关于Javamail设置数字证书到java环境的采坑记录

紧接我的上一篇博客https://blog.****.net/qq_37502042/article/details/90695363,对解决问题过程中采坑的记录。

坑:
在java代码生成数字证书jssecacerts文件后,我把这个文件复制到服务器上的java_home/jre/lib/securty目录下之后,然后查看log,发现依旧无法正常发送邮件。

会不会是修改了数字证书需要重启下项目呢。于是我就重启了tomcat,使用的是bin目录下的tomcat8w.exe重启项目,发现还是无法正常发送邮件!

奇了怪了,然后查资料找到一篇关于tomcat8w.exe启动和startup.bat启动的区别:

tomcat7.exe与startup.bat的区别:
1、这两个都可以启动tomcat,但tomcat7.exe必须安装了服务才能启动,而startup.bat不需要
2、另外一个区别是它们启动所使用的JAVA环境配置是分开的
tomcat7.exe启动所使用JAVA配置与服务启动所使用的JAVA配置一样,都是通过tomcat7w.exe的JAVA面板配置(可以在创建服务前修改service.bat文件的JAVA_HOME变量来指定初始的JVM,该JAVA面板的所有配置项都是从service.bat文件初始化的。)
startup.bat启动所使用的JAVA配置可以通过修改catalina.bat 与setclasspath.bat 文件里的JAVA_HOME与JRE_HOME变量来指定,也可以直接在电脑的高级属性里面添加
rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%
添加下面一句指定tomcat的安装目录。
set CATALINA_HOME=D:\apache-tomcat-7.0.29
if not “%CATALINA_HOME%” == “” goto gotHome
set CATALINA_HOME=%cd%
如果你需要把服务设置为开机自启动,可以加下面这句
sc config %SERVICE_NAME% start= auto
echo The service ‘%SERVICE_NAME%’ has been installed.
运行命令行cmd,可以只用services.msc命令查看当前的服务会发现还没有Apache Tomcat 7,
进入tomcat 的bin目录,执行service.bat install 安装服务
然后再使用services.msc查看服务就多了Apache Tomcat 7
这样问题就解决了!

发现原来tomcat8w.exe双击打开是这样:
关于Javamail设置数字证书到java环境的采坑记录
原来这里已经对java运行环境做了配置。由图片可知使用的是D:\campaignPlanner\jdk1.8\下的jre,这就难怪了,我把证书放在D:\EccomUCAP\Java\jdk1.8.0_162\jre这个版本的jdk中了。难怪怎么重启都不生效。

startup.bat和tomcat8w.exe启动tomcat时使用的java环境可能会不一样,所以这里要注意这两者的区别。