2017-10-13 1 views
1

내 컴퓨터에 설치된 다른 Java 버전을 찾고 필요하면 몇 가지 버전을 설치 해제하고 싶습니다. Powershell의 Windows 컴퓨터에 설치된 java 버전 이해

PS C:\Users\bhatsubh> java -version 
java version "1.8.0_131" 
Java(TM) SE Runtime Environment (build 1.8.0_131-b11) 
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode) 

PS C:\Users\bhatsubh> Get-CimInstance -ClassName Win32_Product | Where-Object { $_.Vendor -match 'Oracle' -and $_.Name -match 'Java'}

Name    Caption     Vendor     Version     IdentifyingNumber 
----    -------     ------     -------     ----------------- 
Java 8 Update... Java 8 Update 131   Oracle Corporation  8.0.1310.11    {26A24AE4-039D-4CA4-8... 
Java 8 Update... Java 8 Update 131 (64-... Oracle Corporation  8.0.1310.11    {26A24AE4-039D-4CA4-8... 
Java SE Devel... Java SE Development Ki... Oracle Corporation  8.0.1210.13    {64A3A4F4-B792-11D6-A... 
Java Auto Upd... Java Auto Updater   Oracle Corporation  2.8.131.11    {4A03706F-666A-4037-7... 

지금 왜 버전이 더 명령에 의해 반환됩니다 : 자바 -version은 Get-CimInstance 명령에없는

그래서 난 아래의 두 명령을 시도했다.

누군가 나를 도와 줄 수 있습니까? 그것은 나를 혼란스럽게합니다.

+0

예 그러나 어떤 명령이 올바른 결과를 내게 알려줍니다. 이 두 출력이 다른 이유는 무엇입니까? –

답변

0

당신이 알 필요가 자바 SE 개발 키트 (JDK)와 자바 SE 런타임 환경 (JRE)은 같은 것이 아닙니다. 자신의 웹 사이트에

오라클 는 말한다 :

JDK는 건물 애플리케이션을위한 개발 환경이며, 구성 요소는 Java 프로그래밍 언어를 사용하여.

Java 프로그램을 실행하고 싶지만 개발하지 않은 경우 Java Runtime Environment 또는 JRE ™을 다운로드하십시오. 당신이 볼 수있는

그래서, 당신은 :

  • JRE v8.0.1310.11,
  • JRE (64) v8.0.1310.11,
  • JDK v8.0.1210.13.

및 Java 자동 업데 이터.

java -version 

JRE에 따라 달라집니다, 그래서 자바 (TM) SE 런타임 환경 버전을 반환합니다.

빌드 1.8.0_131-B118.0.1310.11는 동일한 버전입니다.

0

Java에 설치된 버전 정보는 일반적으로 Windows 레지스트리에 있으며 PowerShell은 레지스트리 정보를 읽는 중일 수 있습니다. 당신이 할 수있는 가장 좋은 것은 regedit.exe 다음 키를 검사하는 것입니다 : 당신이 폴더가 설치 자바 개발 키트 및 Java 런타임 환경에 대응 한 볼이 키 아래

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit 

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment 

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JDK - (Java 9 only) 

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE - (Java 9 only) 

.

버전이 포함 된 하위 키에는 해당 버전이 설치된 디렉터리가 포함 된 JavaHome 키가 포함되어 있습니다. 당신은 다음과 같이 Windows PowerShell을 사용하여 레지스트리 키를 읽을 수

enter image description here

:

귀하의 PowerShell을 출력립니다
Set-Location -Path "hklm:\SOFTWARE\JavaSoft\Java Development Kit\" 
Get-ItemProperty -Path . 
+0

예. 올바른 버전이 아니면 특정 Java 버전을 제거하는 과정을 자동화하는 방법은 무엇입니까? –

+0

글쎄, 어떤 버전이 제대로 설치되어 있는지 이해하는 것이 좋습니다. 그것이 내가 처음에 대답하려고했던 것입니다. 이제 키를 읽는 방법에 대한 정보를 추가했습니다. –

0

, 붙여 넣기하세요 여기

는 볼 방법의 예입니다 전체 텍스트. 텍스트를 맞출 수있는 모니터가 충분하지 않은 경우 > java_out.txt

java -version과 함께 표시하면 셸에있는 JAVA_HOME의 내용을 볼 수 있습니다. C:\Program Files\Java\jdk1.8.0_92.

powershell은 레지스트리에서 컴퓨터의 모든 인스턴스를 쿼리합니다. 두 가지. 출력에서 Java를 찾을 수 없다면 powershell이 ​​쿼리를 통해 레지스트리에서 찾을 수 없다는 것을 의미합니다.

내 출력 :

my env: 
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_92 
PS C:\Users\xxx> java -version 
java version "1.8.0_92" 

PS C:\Users\xxx> Get-CimInstance -ClassName Win32_Product | Where-Object { $_.Vendor -match 'Oracle' -and $_.Name -match 'Java' } 

Name    Caption          Vendor          Version          IdentifyingNumber 
----    -------          ------          -------          ----------------- 
Java Configur... Java Configuration Set 1.0 EN    Oracle          1.0           {34E43632-93E0-411C-BC2F-BB6F7A86307F} 
Java(TM) 6 Up... Java(TM) 6 Update 45      Oracle          6.0.450          {26A24AE4-039D-4CA4-87B4-2F83216045FF} 
Java 7 Update 40 Java 7 Update 40       Oracle          7.0.400          {26A24AE4-039D-4CA4-87B4-2F83217040FF} 
Java(TM) 6 Up... Java(TM) 6 Update 45 (64-bit)    Oracle          6.0.450          {26A24AE4-039D-4CA4-87B4-2F86416045FF} 
Java 8 Update... Java 8 Update 92 (64-bit)     Oracle Corporation       8.0.920.14         {26A24AE4-039D-4CA4-87B4-2F86418092F0} 
Java SE Devel... Java SE Development Kit 8 Update 92 (64-... Oracle Corporation       8.0.920.14         {64A3A4F4-B792-11D6-A78A-00B0D0180920} 
Java Auto Upd... Java Auto Updater       Oracle Corporation       2.8.92.14         {4A03706F-666A-4037-7777-5F2748764D10} 

을 주목 IdentifyingNumber 열 (Java Configuration Set 1.0 EN). 이것이 레지스트리에서 찾을 수있는 열쇠입니다.

Powershell query for java

을 그리고 그 보는 것을 PowerShell을 수 있습니다 : 34E43632-93E0-411C-BC2F-BB6F7A86307F 다음 정보를 :

예를 들어, 당신은 키를 레지스트리에서 찾을 수 있습니다. JAVA_HOME java에 올바른 레지스트리 항목이 없으면 Powershell 출력에 표시되지 않습니다.당신이 파워 쉘이있는 경우

관련 문제