在Wildfly8中的standalone.conf.bat中设置JAVA_OPTS时,我遇到了消耗空间的问题。回到JBOSS 7,如果我想设置一个包含空格的属性,那么我可以执行以下操作:
# New config to cover old and new domain
# Works for new, but not for the old domain
server {
server_name registry-old.domain.com registry-new.domain.com;
location / {
proxy_pass http://localhost:5000;
proxy_set_header Host registry-new.domain.com; # Also tried $host
proxy_set_header X-Real-IP $remote_addr;
}
}
# Original working registry
#server {
# server_name registry-old.domain.com;
#
# location / {
# proxy_pass http://oldRegistry:5000;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# }
#}
根据我的理解,Windows会首先使用外部引号,然后将内部引号视为单个字符串。在Wildfly8中虽然我收到以下错误:
set "JAVA_OPTS=%JAVA_OPTS% -DDEV_HOME="C:\dev\TEST FOLDER""
如果不包含空格,则会正确解释相同的属性。尽管有引号,但似乎空间被解释为分隔符。我不确定设置包含空格的属性的正确方法是什么。我已尝试使用C:\dev\j2ee\wildfly-8.2.0.Final\bin>standalone.bat
Calling "C:\dev\j2ee\wildfly-8.2.0.Final\bin\standalone.conf.bat"
FOLDER" | findstr /r /c:"-Djboss.server.base.dir" > nul && (
FOLDER" | findstr /r /c:"-Djboss.server.config.dir" > nul && (
FOLDER" | findstr /r /c:"-Djboss.server.log.dir" > nul && (
else was unexpected at this time.`
与\
进行转义并使用^
全部达到类似效果。
答案 0 :(得分:1)
您可以使用“8.3格式”中的旧文件名约定而不是真实文件名。所以“C:\ Program Files”在我的系统上转换为“C:\ PROGRAM~1”。这样就没有空间问题了。 “dir / x”命令将以旧方式显示文件名。