实时重新加载 ISML 模板

Live reloading of ISML templates

在我目前在开发服务器上工作的 Intershop 7.9 项目中,似乎没有监视 ISML 文件的更改。这意味着在看到任何 ISML 更改之前,必须重建磁带。在我之前从事的项目(ISH 7.5、7.6、7.7)中,这从来都不是必需的,只需保存 ISML 文件就足够了。

感觉好像遗漏了一些非常简单的东西,但我似乎无法弄清楚。到目前为止,我已经尝试了以下但没有成功:

  1. 确保禁用页面缓存。
  2. 通过 运行 命令重新部署服务器:gradlew deployServer
  3. 通过运行命令启用热代码重新加载:gradlew enableHotCodeReloading
  4. 检查了位于 GRADLE_USER_HOMEgradle.properties 文件,我希望看到的所有墨盒都列为 sourceCartridges。
  5. 检查了 environment.properties 文件,据我所知,该文件不包含对实时代码重新加载有任何作用的属性。
  6. 重新安装了 Intershop Studio。

如有任何关于如何解决此问题的建议,我们将不胜感激。

据我所知,appserver.properties 中有一些相关的属性。我偶然用谷歌搜索了这些:

# perform a lookup and compile the ISML template, when it exists 
# and is newer than the cached version
intershop.template.CheckSource=false

# the time interval in seconds, after which a full lookup should be performed,
# if CheckSource is "true". 0 means every time
intershop.template.CheckSourceInterval=0

# should the last cached template location been checked for a newer version of the
# template, if CheckSource is "true"?
intershop.template.CheckSourceModified=false

现在尝试使用这些值:

intershop.template.CheckSource=true
intershop.template.CheckSourceInterval=0
intershop.template.CheckSourceModified=true

我认为如果您不想在服务器重新部署时丢失您的更改,那么您可以将上面的代码片段放入名为 development.properties 的文件中,该文件位于与 appreserver.properties.[= 相同的目录中15=]

确保在 appserver.properties 中设置了必要的 checksource 属性。在您的情况下,模板的设置需要设置为 true。