场景:这个问题很少见,不过就让我碰到了~~~~~~~~
正常的,我们使用jdk时,默认路径是没问题的,会自动给我们安装在如下路径:
C:\Program Files\Java\jdk1.8.0_101
正常情况是没问题的,
我碰到的情况是,我在后台通过java代码启动tomcat,在idea工具下运行没问题,把项目打包编译后就会出问题,后来查到jdk的安装路径问题上,网上的说法是,在执行批量脚本bat 时,路径中存在空格时是不能识别命令的,此时,是不能有空格的。把jdk路径修改过后,就可以了,这里可以做两种处理:
一、重新安装jdk,自定义路径,切记安装路径中不要出现空格。
二、不用重新安装路径,设置JAVA_HOME的值,正常情况下我们应该设置如下:
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_101
而在windows中我们可以用 PROGRA~1去替换Program File,修改后如下
JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_101
三、以上两种方法均会修改服务器自身的东西,难免影响其它软件,所以有第三种,直接修改自己部署的tomcat的setclasspath.bat文件,这个文件是启动tomcat时设置JAVA_HOME的,
因此在此文件取到JAVA_HOME值后,若发现有Program File时,直接替换成短路径即可
if not "%JAVA_HOME%" == "" set "JAVA_HOME=%JAVA_HOME:Program Files=PROGRA~1%"
建议采用第三种,这样服务器本身上的环境是不用动的。
当在后台通过Java代码启动Tomcat时,如果JDK安装路径包含空格,可能会导致批量脚本无法正确执行。解决办法包括:1. 重新安装JDK并避免路径中有空格;2. 设置JAVA_HOME环境变量使用短路径表示法;3. 修改Tomcat的setclasspath.bat文件,直接替换路径中的Program Files为短路径。推荐使用第三种方案,以防止影响服务器上的其他软件。
1057

被折叠的 条评论
为什么被折叠?



