Java 尝试获取未定义的sun.runtime.Name时出错
我正试图从我的ColdFusion网站内部获取一些信息Java 尝试获取未定义的sun.runtime.Name时出错,java,coldfusion,Java,Coldfusion,我正试图从我的ColdFusion网站内部获取一些信息 struct function get_site_info() output="false" { var oSystem = createObject('java','java.lang.System'); var jremodel = oSystem.getProperty("sun.arch.data.model"); var jrename = oSystem.getProperty("sun.runtime.nam
struct function get_site_info() output="false" {
var oSystem = createObject('java','java.lang.System');
var jremodel = oSystem.getProperty("sun.arch.data.model");
var jrename = oSystem.getProperty("sun.runtime.name");
var jreversion = oSystem.getProperty("sun.runtime.version");
var stResult = {CFVERSION = server.ColdFusion.ProductVersion,
CFLEVEL = server.ColdFusion.ProductLevel,
JRENAME = jrename, // Error happens here
JREVERSION = jreversion };
return stResult;
}
错误消息是
Variable JRENAME is undefined.
没有“sun.runtime.name”这样的属性(或者确实是sun.runtime.anything) 您可能需要java.runtime.name
要查看系统的所有可用属性,请执行以下操作:
<cfdump var=#createObject('java','java.lang.System').getProperties()# />
没有“sun.runtime.name”这样的属性(或者确实是sun.runtime.anything) 您可能需要java.runtime.name
要查看系统的所有可用属性,请执行以下操作:
<cfdump var=#createObject('java','java.lang.System').getProperties()# />
如果在从操作系统为其分配值后添加写输出(“jrename是”&jrename&“并且已定义”)会发生什么情况?jrename没有值-如果指定一个不存在的键,则getProperty返回null。另外,您可以通过提供默认iegetProperty(名称,默认值)
来避免为null。在这种情况下,错误可能是一件好事。但是对于可选属性,默认值很方便。如果在从OSSystem为其赋值后添加一个writeoutput(“jrename is”&jrename&“is defined”),会发生什么情况?jrename没有值-如果指定一个不存在的键,getProperty将返回null。另外,您可以通过提供默认iegetProperty(name,default)
来避免空值。在这种情况下,错误可能是一件好事。但是,对于可选属性,默认值可以派上用场。