2013-08-14 17 views
13

Jak mogę pobierać informacje dostawcy Java bez konieczności skompilować i uruchomić następujący skrypt:Jak odzyskać informacje Java dostawcy

import java.util.Properties; 
public class test 
{ 
    public static void main(String args[]) 
    { 
      Properties prop = System.getProperties(); 
      System.out.println ("JVM Vendor : " + prop.getProperty("java.vendor")); 
    } 
} 

nie mogłem go znaleźć w opcji wiersza poleceń.

Odpowiedz

24

Uwaga: Poniższe zadziała dla Oracle JVM - nie testowane na innych. (Aby uzyskać szczegółowe informacje na temat niestandardowych opcji wykonać java -X)

Można użyć niestandardowego -XshowSettings flagę, aby zobaczyć wszystkie ustawienia lub alternatywnie -XshowSettings:properties aby pokazać wszystkie ustawienia właściwości.

Tak na przykład jeśli wykonać następujące polecenie:

java -XshowSettings:properties -version 

To pokaże wszystkie właściwości z których jeden jest java.vendor. Nie jestem pewien, czy możliwe jest wygenerowanie tylko jednej właściwości.

+2

Następuje błąd: Nierozpoznana opcja: -XshowSettings: properties Nie można utworzyć wirtualnej maszyny Java. –

+0

Czy to polecenie dla systemu Windows lub systemu Unix? –

+0

Zazwyczaj uruchamiam na Linuksie, ale właśnie wypróbowałem go na komputerze z systemem Windows i działa równie dobrze. Ustawienia: Ubuntu 12: Oracle Java 1.7.0_17. Windows 7: Oracle Java 1.7.0_25. Uruchamianie 'java -X' dostarcza szczegółowych informacji o niestandardowych opcjach, w których znajduje się lista' -XshowSettings', przynajmniej dla wersji Java z Oracle. – DB5

2

Jeśli to JDK uruchomić jvisualvm, otwarta aplikacja VisualVM, przejdź do „Właściwości systemu” Zakładka

+1

muszę drogę konsoli to zrobić niestety. – J33nn

2

Jeśli masz jakiekolwiek uruchomiony java app 'Jinfo' jest twoim przyjacielem:

Usage: 
jinfo [option] <pid> 
    (to connect to running process) 
jinfo [option] <executable <core> 
    (to connect to a core file) 
jinfo [option] [[email protected]]<remote server IP or hostname> 
    (to connect to remote debug server) 

where <option> is one of: 
-flag <name>   to print the value of the named VM flag 
-flag [+|-]<name> to enable or disable the named VM flag 
-flag <name>=<value> to set the named VM flag to the given value 
-flags    to print VM flags 
-sysprops   to print Java system properties 
<no option>   to print both of the above 
-h | -help   to print this help message 

Więc

jinfo -sysprops <pid of javaprocess> | grep "java.vendor = " 

daje właściwość systemu.

Beware:

Należy również pamiętać, że wartość właściwości systemu mogą być nadpisane! Na przykład, jeśli myProperties.txt zawiera następujący wiersz, właściwość systemu java.vendor zostaną nadpisane:

java.vendor = Acme Software Firma

+0

TBH nie ma szansy, że ta właściwość zostanie zmieniona w moim przypadku :) – J33nn

0

czy to Tomcat goto: TOMCAT_HOME/bin/

, a następnie uruchom plik version.sh (* np. ./version.sh).

Powiązane problemy