1

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

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

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

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

4

1 回答 1

1

您的问题来自Procrun解析其命令行参数的方式。在那些接受值列表(++DependsOn++Environment++JvmOptions、和)的参数中,在参数值被拆分为单个值之后,单引号将被++JvmOptions9去除。无法引用它们(参见源代码)。++StartParams++StopParams'

因此,++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;

或直接在HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0注册表项上工作。

另见

于 2021-03-31T16:16:12.460 回答