单引号作为 Java 程序的参数
Single quotation marks as arguments to a Java program
当我以这种方式从 cmd 运行 我的 jar 时:
java -jar myapp.jar -fn='Something'
我得到 args = [-fn=Something]
。所以,问题是它错过了引号。双引号也是如此。
我该怎么做才能解决这个问题?我在 Internet 上找不到任何解决方案。
P.S。另一个问题是我是否可以让我的程序自动识别 -fn 变量,或者我应该像字符串一样解析它。我正在使用解析方法,但我只想知道是否还有其他(更合乎道德的)方法。
有两种不同的方法可以解决引号问题:
转义引号:
java -jar myapp.jar -fn="\'Something\'"
java -jar myapp.jar -fn="\"Something\""
带单引号和双引号:
java -jar myapp.jar -fn='"Something"'
如果你想创建一个控制台程序,我可以推荐Picocli or Spring Shell. Otherwise, you could use e.g. the Commons CLI解析参数,或者你可以自己手动完成。
当我以这种方式从 cmd 运行 我的 jar 时:
java -jar myapp.jar -fn='Something'
我得到 args = [-fn=Something]
。所以,问题是它错过了引号。双引号也是如此。
我该怎么做才能解决这个问题?我在 Internet 上找不到任何解决方案。
P.S。另一个问题是我是否可以让我的程序自动识别 -fn 变量,或者我应该像字符串一样解析它。我正在使用解析方法,但我只想知道是否还有其他(更合乎道德的)方法。
有两种不同的方法可以解决引号问题:
转义引号:
java -jar myapp.jar -fn="\'Something\'"
java -jar myapp.jar -fn="\"Something\""
带单引号和双引号:
java -jar myapp.jar -fn='"Something"'
如果你想创建一个控制台程序,我可以推荐Picocli or Spring Shell. Otherwise, you could use e.g. the Commons CLI解析参数,或者你可以自己手动完成。