java – 系统属性为null,即使它是在命令行中定义的
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 系统属性为null,即使它是在命令行中定义的,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1055字,纯文字阅读大概需要2分钟。
内容图文
![java – 系统属性为null,即使它是在命令行中定义的](/upload/InfoBanner/zyjiaocheng/743/df632ed7166f4be8954b324d4b727632.jpg)
我正在调试大型系统中的问题.我能够在一个相当基本的java功能中找到问题 – 应用程序以-D选项启动以指定一些系统属性.但是在运行时期间,未设置所述属性且其值为null.
试图重现这个问题我创建了以下非常简单的应用程序:
public static void main(String[] args) {
String propName = "sysprop";
String propValue = System.getProperty(propName);
System.out.println(propName + "=" + propValue);
}
我使用以下命令行启动应用程序,令我惊讶的是得到了相同的结果:
java -cp javaapplication8.jar javaapplication8.JavaApplication8
-Dsysprop=”some value”sysprop=null
显然我遗漏了一些明显的东西(或缺乏一些基本知识),但它是什么?
谢谢.
解决方法:
您在类名后面指定-D,因此它被视为常规命令行参数,以传递给应用程序本身.你会看到,如果你打印出args中的值.
改为运行这样的应用程序:
java -cp javaapplication8.jar -Dsysprop="some value" javaapplication8.JavaApplication8
所有适用于环境而不是应用程序的参数都应该在类名之前.如果你只运行java,你会看到这样的用法帮助:
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include
[...]
内容总结
以上是互联网集市为您收集整理的java – 系统属性为null,即使它是在命令行中定义的全部内容,希望文章能够帮你解决java – 系统属性为null,即使它是在命令行中定义的所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。