批处理文件';%';设置java属性时放置额外的空间
我使用命令行运行java应用程序,因此我必须使用“-D”标志注入一些系统级属性。属性是作为参数传递给批处理文件的,我设置它并像这样运行jar文件批处理文件';%';设置java属性时放置额外的空间,java,windows,batch-file,Java,Windows,Batch File,我使用命令行运行java应用程序,因此我必须使用“-D”标志注入一些系统级属性。属性是作为参数传递给批处理文件的,我设置它并像这样运行jar文件 java -Dservice.url="http://localhost:%port%/someservice" -jar program.jar 问题在于%port%最终会增加空间,并导致出现问题。在打印应用程序中的属性时,我发现它被设置为这样 java -Dservice.url="http://localhost:%port%/someserv
java -Dservice.url="http://localhost:%port%/someservice" -jar program.jar
问题在于%port%最终会增加空间,并导致出现问题。在打印应用程序中的属性时,我发现它被设置为这样
java -Dservice.url="http://localhost:%port%/someservice" -jar program.jar
service.url=/someservice
理想情况下应该是这样
service.url=
我尝试过删除引号、添加引号和许多解决方案,但它们都不起作用 始终将变量用双引号括起来,包括变量名,以确保其中没有空格:
set "port=8080"
始终将变量用双引号括起来,包括变量名,以确保其中没有空格:
set "port=8080"
显示设置变量
%port%
的代码换句话说,请显示批处理代码。如果%
正在插入空格,为什么空格不在8080
之前?是的。正确的。在脚本的开头,正在运行一个设置不同属性的循环。我刚刚检查了set port=something最后是否有额外的空格字符。删除已修复问题的。显示设置变量%port%
的代码。换句话说,请显示批处理代码。如果%
正在插入空格,为什么空格不在8080
之前?是的。正确的。在脚本的开头,正在运行一个设置不同属性的循环。我刚刚检查了set port=something最后是否有额外的空格字符。删除已修复该问题的。