Intershop项目升级后无法通过Intershop Studio启动应用服务器
Intershop升级后Intershop Studio无法启动应用服务器解决方法
问题背景
- 升级路径:Intershop 7.10.29.2 → 7.10.38.9-LTS,配套使用Responsive Starter Store 32.2.3
- 故障表现:升级完成后无法通过Intershop Studio启动应用服务器
- 排查定位:服务器启动配置的classpath中
tools.jar路径配置错误,默认指向${IS_HOME}/engine/jdk/lib/tools.jar,实际正确路径为%JAVA_HOME%/lib/tools.jar;直接在IDE中修改classpath配置时,所有修改无报错无提示即被回滚,无法永久生效
报错日志
Jun 13, 2022 10:16:21 AM org.apache.tomcat.util.scan.StandardJarScanner processURLs WARNING: Failed to scan [file:/C:/DEV/intershop-ci/sources/projects/webshop/build/server/local/engine/jdk/lib/tools.jar] from classloader hierarchy java.io.FileNotFoundException: C:\DEV\intershop-ci\sources\projects\webshop\build\server\local\engine\jdk\lib\tools.jar (The system cannot find the path specified) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:228) at java.util.zip.ZipFile.(ZipFile.java:157)
根因说明
7.10.38.9-LTS版本移除了安装目录下自带的JDK,但是Gradle构建脚本和Intershop Studio的配置生成逻辑没有同步更新,仍然硬编码了旧版本中${IS_HOME}/engine/jdk/lib/tools.jar的路径;同时Intershop Studio的服务器启动配置是由Gradle任务自动生成管控的,直接在IDE Run Configuration界面修改的内容会被配置同步逻辑自动覆盖,无法持久化。
解决步骤
- 校验系统环境变量与项目配置
确认系统JAVA_HOME环境变量指向Intershop兼容的JDK版本,路径无拼写错误;打开项目根目录下的local.properties文件,确认java.home配置项的值与JAVA_HOME路径一致,没有指向Intershop安装目录下的旧JDK路径。 - 修正服务器配置
进入${IS_HOME}/engine/servers/<对应服务实例>/conf/目录,修改catalina.properties文件,找到common.loader配置项,删除其中的${catalina.home}/jdk/lib/tools.jar条目,替换为${java.home}/../lib/tools.jar。 - 重新生成IDE配置
不要直接在Intershop Studio中修改启动配置,回到项目根目录执行以下命令,重新生成所有IDE配置与启动项:
执行完成后重启Intershop Studio,新的启动配置会自动读取正确的gradlew cleanEclipse eclipsetools.jar路径。 - 可选优化(避免jar扫描报错)
如果重启后仍然出现tools.jar扫描相关警告,可修改同目录下的context.xml文件,在<Context>标签内添加如下配置,跳过非必要的classpath jar扫描:<JarScanner scanClassPath="false" scanBootstrapClassPath="false"/>
内容的提问来源于stack exchange,提问作者Robi
相关产品推荐
相关产品推荐

