微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TOMCAT:CATALINA_HOME 环境变量中的引用 < ' > 导致加载错误?

如何解决TOMCAT:CATALINA_HOME 环境变量中的引用 < ' > 导致加载错误?

我正在尝试在以下路径中使用 service.bat 将 tomcat 作为服务安装: C:\Program Files\text with 'quote\Tomcat

但我不断收到以下错误java.io.FileNotFoundException: C:\Program Files\text with quote\Tomcat\conf\logging.properties; (系统找不到指定的路径)

正如您从错误消息中看到的那样,' 被忽略,从而使某些文件无法正确找到/加载。

如果我切换到没有引号的路径,则一切正常。有没有办法解决这个问题,因为我需要在路径中包含一个 '?

解决方法

您的问题来自 Procrun 解析其 command line parameters 的方式。在那些接受值列表(++DependsOn++Environment++JvmOptions++JvmOptions9++StartParams++StopParams)的参数中,单引号 {{1 }} 在参数值被拆分为单个值后被剥离。无法引用它们(参见 source code)。

因此 ' 中使用的 ++JvmOptions 参数解释如下(每行一个值):

service.bat

由于 -Dcatalina.home=C:\Scarlett oHara;-Dcatalina.base=C:\Scarlett oHara -Dignore.endorsed.dirs=C:\Scarlett oHara\endorsed;-Djava.io.tmpdir=C:\Scarlett oHara\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\Scarlett oHara\conf\logging.properties; 无意引用,您可能会注意到某些条目以 ; 连接。

解决此问题的唯一方法是启动 Prunmgr(重命名为 ' 的可执行文件)并在 “Java” 选项卡中修复它们:>

tomcat*w.exe

或直接处理 -Dcatalina.home=C:\Scarlett o'Hara -Dcatalina.base=C:\Scarlett o'Hara -Dignore.endorsed.dirs=C:\Scarlett o'Hara\endorsed -Djava.io.tmpdir=C:\Scarlett o'Hara\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\Scarlett o'Hara\conf\logging.properties; 注册表项。

另见

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。