如何解决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 举报,一经查实,本站将立刻删除。