2015-06-24 3 views
12

Gibt es eine Referenzseite, die alle Standardeigenschaftsschlüssel auflistet, die von der Java System.getProperty(key)-Methode immer akzeptiert werden?Was ist die vollständige Liste der Standardschlüssel, die von der Java System.getProperty() -Methode erkannt werden?

Ich bin nicht auf Systemeigenschaften beziehen, die durch den Benutzer des Java-Befehl gesetzt werden kann (dies würde eine unbegrenzte Liste), sondern auf die Eigenschaften der Laufzeit setzt sich (wie java.version, java.specification.version, etc).

+0

ich immer noch bin interessiert an einer Antwort finden und diese Frage möchte wieder geöffnet werden. Siehe https://meta.stackoverflow.com/q/349307/4428150. – Gustave

+0

Ich nehme an, die richtige Antwort ist "Nein", aber es wäre eine nette Überraschung, wenn sich herausstellt, dass ich falsch liege. – Gustave

Antwort

12

Gefällt mir: https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html? Ich würde sagen, Oracle eine Liste

Update (kopiert von Link oben) haben wird:

"file.separator" Character that separates components of a file path. This is "/" on UNIX and "\" on Windows. 
"java.class.path" Path used to find directories and JAR archives containing class files. Elements of the class path are separated by a platform-specific character specified in the path.separator property. 
"java.home"   Installation directory for Java Runtime Environment (JRE) 
"java.vendor"  JRE vendor name 
"java.vendor.url" JRE vendor URL 
"java.version"  JRE version number 
"line.separator" Sequence used by operating system to separate lines in text files 
"os.arch"   Operating system architecture 
"os.name"   Operating system name 
"os.version"  Operating system version 
"path.separator" Path separator character used in java.class.path 
"user.dir"   User working directory 
"user.home"   User home directory 
"user.name"   User account name 

Eine vollständigere Liste von https://docs.oracle.com/javase/8/docs/api/java/lang/System.html

java.version     Java Runtime Environment version 
java.vendor      Java Runtime Environment vendor 
java.vendor.url     Java vendor URL 
java.home      Java installation directory 
java.vm.specification.version Java Virtual Machine specification version 
java.vm.specification.vendor Java Virtual Machine specification vendor 
java.vm.specification.name  Java Virtual Machine specification name 
java.vm.version     Java Virtual Machine implementation version 
java.vm.vendor     Java Virtual Machine implementation vendor 
java.vm.name     Java Virtual Machine implementation name 
java.specification.version  Java Runtime Environment specification version 
java.specification.vendor  Java Runtime Environment specification vendor 
java.specification.name   Java Runtime Environment specification name 
java.class.version    Java class format version number 
java.class.path     Java class path 
java.library.path    List of paths to search when loading libraries 
java.io.tmpdir     Default temp file path 
java.compiler     Name of JIT compiler to use 
java.ext.dirs     Path of extension directory or directories Deprecated. This property, and the mechanism which implements it, may be removed in a future release. 
os.name       Operating system name 
os.arch       Operating system architecture 
os.version      Operating system version 
file.separator     File separator ("/" on UNIX) 
path.separator     Path separator (":" on UNIX) 
line.separator     Line separator ("\n" on UNIX) 
user.name      User's account name 
user.home      User's home directory 
user.dir      User's current working directory 

Obwohl einige Duplikate, ich glaube, die ehemalige Beschreibungen sind informativer als letztere. Die letztere Listen 28 Objekte, während, wenn ich alle Eigenschaften drucken, meine JVM mit 56 reagiert, aufgeführt einige nicht in den 28 umfassen sun.* (12), *.awt.* (3), 7 von 10 Benutzereigenschaften (country.format, country, script, variant, timezone, language, language.format)

+1

@Tom, Messepunkt ... Aktualisierte Antwort – Danielson

+0

Die verknüpfte Oracle-Seite besagt "Die folgende Tabelle beschreibt einige der wichtigsten Systemeigenschaften". "Einige von" weisen darauf hin, dass dies keine vollständige Liste ist. – Gustave

+0

@Gustave, true ... Ich habe mehr gefunden, aber ich kann es nicht einmal in den Java-Spezifikationsbüchern finden. Ich habe eine größere Liste erstellt, einschließlich der Auflistung einiger Eigenschaften, die nicht in der zweiten (Java 8 JavaDoc) Liste enthalten sind. – Danielson

0

Sie können diesen Code verwenden, um die Systemeigenschaften zu erhalten:

import java.util.Properties; 
import java.util.Enumeration; 

Properties props = System.getProperties(); 
Enumeration propNames = props.propertyNames(); 
for (; propNames.hasMoreElements();) { 
    String key = propNames.nextElement().toString(); 
    System.out.println(key + " : " + props.getProperty(key)); 
} 

Sie können auch die Umgebungsinformationen aus System.getenv erhalten().

+0

Warum for for loop, statt while? – Danielson

+0

Nun, ich habe dir gerade eine Anleitung gegeben, wie du es bekommen kannst.Es ist zu Ihnen, welche Art von Schleife Sie verwenden möchten. –

+0

Stimmt, ich war nur neugierig ... Könnte sein, dass ich etwas verpasst habe – Danielson

12

Vielleicht auch hilfreich:

  • zeigen die effektiven Immobilienwerte JVM aufgreift:

    java -XshowSettings:all 
    
0

Für einen besseren Weg, um die Ausgabe zu drucken, können Sie den folgenden Code verwenden . Beachten Sie, dass dieser Code in der Umgebung und Programmiersprache Processing vollständig funktionsfähig ist. (Ja, es ist Java-basiert)

String Junk = System.getProperties().toString(); 
Junk = Junk.replace("}", "").replace("{", ""); 
String Separated [] = split(Junk, ", "); 
for(int S = 0; S < Separated.length; S ++) { 
    String splitFurther [] = split(Separated [S], "="); 
println("Key: " + splitFurther [0] + "\n\tProperty: " + splitFurther [1]); 
} 

Ich hoffe, es hilft. ;)

0

Sie können alle Eigenschaften angezeigt werden und auf Sie ihre Einstellungen Konsole Code folgenden

//Properties inherits form Hashtable and holds the 
    //Information of what the Propertie is called (key) 
    //and what the Propertie really is (value) 
    Properties props = System.getProperties(); 

    //We want to loop through the entrys using the Keyset 
    Set<object> propKeySet = props.keySet(); 

    for (Object singleKey : propKeySet) { 
    System.out.println(singleKey += props.getProperty((String) singleKey));  
    } 

Sie hier ein Beispiel http://javacodingnerd.blogspot.de/2017/03/java-how-to-gather-system-properties.html

Verwandte Themen