ข้อผิดพลาดของคีย์รีจิสทรี: เวอร์ชัน Java มีค่า '1.8' แต่จำเป็นต้องมี '1.7'


93

ขณะวิ่ง

sencha app build production

ฉันได้รับข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาด: คีย์รีจิสทรี 'Software \ JavaSoft \ Java Runtime Environment' \ CurrentVersion '

มีค่า '1.8' แต่ต้องระบุ '1.7' ข้อผิดพลาด: ไม่พบข้อผิดพลาด java.dll: ไม่พบ Java SE Runtime Environment

java -version คำสั่งแสดงดังต่อไปนี้:

เวอร์ชัน java "1.8.0_40" Java (TM) SE Runtime Environment (build 1.8.0_40-b26) Java HotSpot (TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

ไม่พบว่าเส้นทางผิดพลาดตรงไหน ความคิดใด ๆ ?

----------------------- แก้ไข -------------------------- ----------------------

หมายเหตุ : ฉันใช้ Windows 7 (64 บิต)

ฉันได้ลองถอนการติดตั้ง sencha touch cmd แล้วติดตั้งใหม่ แต่ยังคงมีข้อผิดพลาดเดียวกัน

ฉันได้ถอนการติดตั้งอินสแตนซ์เวอร์ชัน java ทั้งหมดและติดตั้งอินสแตนซ์ล่าสุดใหม่แล้ว แต่ปัญหายังคงมีอยู่

คำตอบ:


299

หลังจากลองใช้กลอุบายมากกว่าร้อยครั้งในที่สุดก็ประสบความสำเร็จ

ฉันออกทั้งหมดjava.exe, javaw.exeและjavaws.exeจากฉัน

  1. Windows\System32 และ

  2. Windows\SysWOW64 โฟลเดอร์ [ลองขั้นตอนที่ 2 หากคุณมีระบบ x64 (Win 7 64 bits)]


11
ชนะ 10 ผู้ใช้ 64Bit: การลบ 3 ไฟล์ในSystem32จะช่วยแก้ปัญหาได้
iTurki

4
แต่เราต้องปิดและเปิด cmd อีกครั้งและพิมพ์ java -version เพื่อดูการเปลี่ยนแปลง ... ทำงานอย่างมีเสน่ห์ขอบคุณ!
Cristian B.

1
@SkepticScribbler: สิ่งนี้เกิดขึ้นเมื่อคุณสับสน java เอง คุณกำลังพยายามเรียกใช้ java 7 VM ซึ่งพบ JRE 8 มันอาจแสดงปัญหานี้แม้ว่าคุณจะพิมพ์ในบรรทัดคำสั่งเพียง java หรือ java -version ในสภาพแวดล้อมที่กำหนดค่าไม่ถูกต้อง
Anand Gupta

@AnandGupta นี่เป็นการถ่ายในที่มืดไม่ใช่วิธีแก้ปัญหา - stackoverflow.com/a/53192247/1423507
masseyb

39

ในกรณีของฉัน (Windows 7 64 บิต) ฉันเพิ่งทำสิ่งต่อไปนี้:

  • ลบการอ้างอิงถึงC: \ ProgramData \ Oracle \ Java \ javapath; จากตัวแปรสภาพแวดล้อมเส้นทาง
  • ไฟล์ที่ถูกลบJava , javawและjavawsจากC: \ Windows \ System32โฟลเดอร์

หลังจากนั้นฉันปิดทุกคอนโซลบรรทัดคำสั่งเปิดเปิดพวกเขาและวิ่งJava -version


ฉันมีปัญหานี้ใน Windows 10 เมื่อติดตั้ง JDK5u14, JDK6u34, JDK7u51 และ JDK8u121 (ตามลำดับ) การลบไฟล์ java ออกจากโฟลเดอร์ Windows นั้นไม่เพียงพอ ยังต้องลบเส้นทางจากตัวแปรสภาพแวดล้อม PATH
uhm

31
  1. เปิด regedit
  2. ไปที่ [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
  3. เปลี่ยนค่าCurrentVersionจาก "1.8" เป็น "1.7"

2
ขอบคุณ. มันช่วยแก้ปัญหาของฉันได้ ฉันไม่มีสิทธิ์ลบอะไรใน SysWOW64 เพียงแค่เปลี่ยน CurrentVersion ผ่าน regedit ก็ช่วยแก้ปัญหาของฉันได้
กฤษ

1
วิธีแก้ปัญหาที่ง่ายกว่าการพยายามลบเวอร์ชัน java ที่ไม่เกี่ยวข้องทั้งหมด!
Fred Andrews

.. แต่ก็ไม่ได้แก้ปัญหาอะไร จากนั้นโปรแกรมติดตั้งก็บ่นว่าจำเป็นต้องใช้ java 8
user508402

ขอบคุณโซลูชันนี้ได้พยายามแก้ไขข้อผิดพลาดนี้เป็นเวลานาน
Abhishek Sawant

คำเตือน: อาจทำให้แอปพลิเคชันอื่น ๆ ของคุณเสียหายซึ่งได้รับการกำหนดค่าให้ใช้ 1.8
Waqas

19

เรื่องผู้ใช้ Windows

ไม่อย่าลบการอ้างอิงสภาพแวดล้อม Javapath ออกจากตัวแปร PATH ของคุณ

สาเหตุที่รีจิสตรีไม่ทำงานคือสคริปต์ Oracle Javapath จำเป็นต้องรันในลำดับ PATH ก่อนไดเร็กทอรี JRE & JDK ซึ่งจะจัดเรียงเวอร์ชันปัจจุบัน:

วางไดเร็กทอรีนี้ไว้ที่ HEAD ของ%PATH%ตัวแปรของคุณ:

C:\ProgramData\Oracle\Java\javapath

[หรือที่ใดก็ตามบนเดสก์ท็อปของคุณ]

ดังนั้นเส้นทางของคุณจะเป็นแบบนี้ตัวอย่างเช่นของฉัน

PATH=C:\ProgramData\Oracle\Java\javapath;<other path directories>;E:\Program Files\Java\jdk1.8.0_77\bin;E:\Program Files\Java\jre1.8.0_77\bin

จากนั้นคุณจะเห็นเวอร์ชันปัจจุบันที่ถูกต้อง:

C:\>java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

อันนี้ใช้ได้กับฉัน ฉันมี Windows 7 (64 บิต) ฉันได้ย้าย C: \ ProgramData \ Oracle \ Java \ javapath ไปที่จุดเริ่มต้นของ PATH ตามที่คุณแนะนำ ขอบคุณ!
softwarelover

1
เฮ้ยมันได้ผล! อย่าลืมรีสตาร์ทคอมพิวเตอร์ขอบคุณ
Sandoval0992

12

ประสบการณ์ของฉัน:

ฉันใช้ windows 8.1และฉันได้ปรับลดรุ่น JAVA จาก 1.8 เป็น 1.7 และฉันได้รับข้อผิดพลาดเดียวกัน

ข้อผิดพลาด: คีย์รีจิสทรี 'Software \ JavaSoft \ Ja มีค่า' 1.7 'แต่จำเป็นต้องมี' 1.8 '

ฉันได้ลบjava.exe , javaw.exeและjavaws.ex e จากโฟลเดอร์C: \ Windows \ System32แล้วและมันก็ใช้ได้สำหรับฉัน


สิ่งนี้จะใช้ไม่ได้หากมีไฟล์ปฏิบัติการ java อื่นสำหรับเวอร์ชัน Java อื่น ๆ ในเส้นทาง
Underverse

9

ฉันมีปัญหาเดียวกัน วิธีแก้ปัญหาง่ายๆที่ได้ผลสำหรับฉันคือการจัดเรียงรายการในPATHfor JRE/JDK. ปัญหานี้เริ่มปรากฏขึ้นหลังจากการติดตั้งJRE 8ซึ่งมีการติดตั้งไฟล์ปฏิบัติการบางไฟล์ไว้ในSystem32 or SysWOW64ไดเร็กทอรีไฟล์ปฏิบัติการเหล่านี้จะทำให้สับสน ในการแก้ไขปัญหา:

  1. สร้างตัวแปรสภาพแวดล้อมที่ชี้ไปที่ JDK home เป็นJAVA_HOME.

    set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_45

  2. ใส่รายการ%JAVA_HOME%\binที่เริ่มต้นในตัวแปรสภาพแวดล้อม PATH ของคุณ ต่อท้ายค่าที่มีอยู่ของPATH. ตัวอย่างเช่น:

    path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%


3
นี่เป็นทางออกที่ดีที่สุดหากคุณต้องการเก็บ java หลายเวอร์ชันไว้ข้างๆกันและหากคุณไม่มีสิทธิ์แก้ไขรีจิสทรีและลบไฟล์ออกจากโฟลเดอร์ windows \ system
Heinz

3

ฉันไม่ได้ลบไฟล์ java.exe ใด ๆ แต่เปลี่ยนลำดับของตัวแปร System - "path" ของฉัน - เพื่อให้แสดง% JAVA_HOME% \ bin เป็นรายการแรก นั่นเป็นเคล็ดลับ


3

ข้อผิดพลาดชัดเจน ...

ข้อผิดพลาด: คีย์รีจิสทรี 'Software \ JavaSoft \ Java Runtime Environment' \ CurrentVersion 'มีค่า' 1.8 'แต่จำเป็นต้องมี' 1.7 '

ข้อผิดพลาด: ไม่พบ java.dll

ข้อผิดพลาด: ไม่พบ Java SE Runtime Environment

... คุณกำลังพยายามใช้java.exe1.7 ปฏิบัติการในขณะที่HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment> CurrentVersionคีย์รีจิสทรีมีค่า 1.8

รูปแบบที่เกิดขึ้นกับโซลูชั่นที่นำเสนอก็คือว่าข้อผิดพลาดเป็นข้อผิดพลาดการกำหนดค่า ข้อผิดพลาดนี้สามารถแก้ไขได้ในรูปแบบต่างๆ (เช่นการกำหนดค่าสภาพแวดล้อมผู้ใช้ใหม่หรือการลบไฟล์ปฏิบัติการ java ด้วยการใช้นิ้วไขว้กันและหวังว่าจะมีทางเลือกอื่นjava.exeในผู้ใช้%PATH%และทางเลือกที่java.exeสามารถดำเนินการได้ถูกต้อง)

ที่ถูกต้องวิธีการแก้ปัญหาขึ้นอยู่กับสิ่งที่คุณกำลังพยายามที่จะบรรลุ "? คุณกำลังพยายามที่จะปรับลดจาก jdk-8 จะ jdk-7 กำลังพยายามที่จะปรับรุ่น jdk-8 ..."

ขั้นตอนการสืบพันธุ์

  1. ติดตั้ง jdk-7u80-windows-x64.exe

หมายเหตุ:

  • java.exeปฏิบัติการที่มีอยู่ในผู้ใช้%PATH%ติดตั้งในC:\Windows\System32
  • การติดตั้งไม่อัปเดตผู้ใช้ %PATH%
  • HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment> CurrentVersionรายการรีจิสทรีสตริงจะถูกสร้างขึ้น (อื่น) ด้วยค่า1.7
  1. ติดตั้ง jdk-8u191-windows-x64.exe

หมายเหตุ:

  • ผู้ใช้%PATH%จะได้รับการอัปเดตเพื่อรวมC:\Program Files (x86)\Common Files\Oracle\Java\javapathเป็นรายการแรก
  • ที่HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment> CurrentVersionค่ารายการรีจิสทรีสตริงมีการปรับปรุงเพื่อ1.8
  1. อัพเดต%PATH%ตัวแปรสภาพแวดล้อมของผู้ใช้ลบC:\Program Files (x86)\Common Files\Oracle\Java\javapath

  2. ในพรอมต์คำสั่งใหม่ java -version

ข้อผิดพลาด: คีย์รีจิสทรี 'Software \ JavaSoft \ Java Runtime Environment' \ CurrentVersion 'มีค่า' 1.8 'แต่จำเป็นต้องมี' 1.7 '

ข้อผิดพลาด: ไม่พบ java.dll

ข้อผิดพลาด: ไม่พบ Java SE Runtime Environment

โซลูชัน (s)

  1. วิธีการแก้ปัญหาของ OP https://stackoverflow.com/a/29769311/1423507เป็น "นิ้วข้ามและความหวังว่ามีทางเลือกjava.exeในผู้ใช้%PATH%และที่ปฏิบัติการทางเลือกที่ถูกต้องคือ" วิธีการข้อผิดพลาด ที่กำหนดขั้นตอนการทำสำเนาเอาjava.exe, javaw.exeและjavaws.exeexecutables จากC:\Windows\System32(เฉพาะในกรณีของฉัน) จะส่งผลให้ไม่ต้องมีjava.exeอยู่ในผู้ใช้%PATH%ที่มีผลในข้อผิดพลาด'java' is not recognized as an internal or external command, operable program or batch file.ที่ไม่มากของการแก้ปัญหา

  2. คำตอบhttps://stackoverflow.com/a/35775493/1423507และhttps://stackoverflow.com/a/36516620/1423507ทำงานได้ แต่คุณจะเปลี่ยนกลับไปใช้java.exe1.7 (เช่นอัปเดตค่าCurrentVersionคีย์รีจิสทรีให้ตรงกับjava.exeเวอร์ชันที่พบใน ผู้ใช้%PATH%)

  3. ตรวจสอบให้แน่ใจว่าjava.exe1.8 เป็นครั้งแรกที่พบในผู้ใช้%PATH%(วิธีที่คุณทำนั้นไม่เกี่ยวข้อง) เช่น:

    • อัพเดตผู้ใช้%PATH%เพื่อรวมไว้C:\Program Files (x86)\Common Files\Oracle\Java\javapathก่อน (ตรวจสอบให้แน่ใจว่าไฟล์ปฏิบัติการในไดเร็กทอรีนั้นถูกต้อง)
    • อัปเดตผู้ใช้%PATH%เพื่อรวมเส้นทางที่แน่นอนของไบนารี java ของคุณก่อน ( set PATH="C:\Program Files\Java\jre1.8.0_191\bin;%PATH%")
    • ชุด Java ตัวแปรสภาพแวดล้อมที่เฉพาะเจาะจงและปรับปรุงให้ผู้ใช้%PATH%กับพวกเขา ( set JAVA_HOME="C:\Program Files\Java"; set JRE_HOME=%JAVA_HOME%\jre1.8.0_191; set PATH=%JRE_HOME%\bin;%PATH%)

@whoever_that_downvotes - คำตอบนี้ไม่สามารถปรับปรุงได้หากไม่มีข้อเสนอแนะที่สร้างสรรค์ ใส่ความคิดเห็นว่า "ทำไม" และอาจสามารถทำให้คำตอบนี้ดีขึ้นเพื่อประโยชน์ของชุมชน
masseyb

2

ฉันมีข้อผิดพลาดนี้ในบริการ Windows บางอย่างที่ใช้ Java ในท้ายที่สุดบนเครื่องของฉันฉันพยายามถอนการติดตั้ง java เวอร์ชันอื่น

ฉันเหลือเพียง 1.8 และตอนนี้ทุกอย่างใช้งานได้


1

คำตอบของ aribeiro ได้ผลสำหรับฉัน - มีการเปลี่ยนแปลงเล็กน้อย

  • ฉันลบการอ้างอิงถึง C: \ ProgramData \ Oracle \ Java \ javapath; จากตัวแปรสภาพแวดล้อมเส้นทาง
  • ฉันสร้าง / path / to / jdkhome เป็นรายการแรกในตัวแปรสภาพแวดล้อม PATH ของฉัน ฉันคิดว่าสิ่งนี้เพียงอย่างเดียวคือสิ่งที่จำเป็น

1

สำหรับฉันใน win7 64bit

คัดลอก java.exe javaw.exe javaws.exe ในโฟลเดอร์ C:\Program Files\Java\jre1.8.0_91\bin to the C:\Windows\System32.

จากนั้นเปิด cmd พิมพ์ java -version

C:\Users\HEcom>java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

ก่อนข้างต้นตรวจสอบให้แน่ใจว่า CurrentVersion ของ Registry คือ 1.8

ในเมนู START ให้พิมพ์ "regedit" เพื่อเปิด Registry Editor

  1. ไปที่ "HKEY_LOCAL_MACHINE" ทางด้านซ้ายมือของเมนู Registry explorer / tree
  2. คลิก "SOFTWARE" ภายในรีจิสเตอร์ "HKEY_LOCAL_MACHINE"
  3. คลิก "JavaSoft" ภายในรีจิสเตอร์ "SOFTWARE"
  4. คลิก "Java Runtime Environment" ภายในรายการ "JavaSoft" ของการลงทะเบียนที่นี่คุณจะเห็น java ที่ติดตั้งเวอร์ชันต่างๆ
  5. คลิก "Java Runtime Environment" - ทางขวามือคุณจะได้ 4-5 แถว โปรดเลือก "CurrentVersion" และคลิกขวา (เลือกตัวเลือกแก้ไข) ตรวจสอบให้แน่ใจว่าเวอร์ชันคือ "1.8"

นี่เป็นความคิดที่แย่จริงๆ ต้องเพิ่มโฟลเดอร์ไบนารีในพา ธ แทนที่จะย้ายไฟล์ไปยังโฟลเดอร์ที่อยู่ในพา ธ อาจทำให้ปวดหัวอย่างมากหากมีคนอื่นต้องอัปเดต java ในระบบและไม่มีความรู้เกี่ยวกับ "โซลูชัน" นี้ และนั่นคือต้นตอปัญหาของ op ... แก้ไขเส้นทางของคุณแทน
Riwels

เปลี่ยนฉันแค่ย้ายเป็นฉันแค่คัดลอกแล้วคุณจะไปได้ดี
Matthieu

1

วิธีแก้ปัญหาของฉันสำหรับปัญหานี้เกิดขึ้นหลังจากอ่านและลองทำตามทั้งหมดข้างต้น

ในกรณีของฉันฉันพยายามดาวน์เกรด Java เพื่อใช้งานพิมพ์ในApache ActiveMQไฟล์. หลังจากถอนการติดตั้งเวอร์ชัน Java ทั้งหมดและทำความสะอาดรีจิสทรีฉันได้รับข้อผิดพลาดเดียวกัน

ข้อผิดพลาด: คีย์รีจิสทรี 'Software \ JavaSoft \ Java Runtime Environment' \ CurrentVersion 'มีค่า' 1.7 'แต่จำเป็นต้องมี' 1.8 '"

ในกรณีของฉันฉันต้องการที่จะไปที่ตัวแปรสภาพแวดล้อมแก้ไขเส้นทางเปิดตำแหน่ง javapath (การC:\ProgramData\Oracle\Java\javapath) และมันก็มี - สามไฟล์ ( java.exe, javaw.exe, javaws.exe) ที่ยังคงอยู่จากรุ่น JRE8

หลังจากสร้างข้อเท็จจริงนี้แล้วฉันก็เปลี่ยนไฟล์เหล่านั้นด้วยไฟล์เดียวกันจากC:\Windows\SysWOW64ไดเร็กทอรี (ซึ่งมาจากJRE7เวอร์ชัน) และทุกอย่างก็ทำงานได้อย่างสมบูรณ์


1

หลังจากอัปเดต Java อัตโนมัติล่าสุดฉันไม่สามารถเรียกใช้ Java จากพรอมต์คำสั่ง

ตัวแปรเส้นทางของฉันมี 'C: \ ProgramData \ Oracle \ Java \ javapath;'

ฉันไม่สามารถซีดีเป็น 'C: \ ProgramData \ Oracle \ Java \ javapath;' จากหน้าต่างพรอมต์คำสั่งเนื่องจากไม่มีอยู่

ฉันลบ C: \ ProgramData \ Oracle \ Java \ javapath; ' จากตัวแปรพา ธ และแทนที่ด้วย 'C: \ Program Files \ Java \ jre1.8.0_141 \ bin;'


นี่เป็นความคิดเห็นมากกว่าคำตอบ คำถามเกี่ยวกับเครื่องมือที่เฉพาะเจาะจงมากและทำให้ชัดเจนว่า java อยู่ในการกระทำที่พบ
GhostCat

1

คุณต้องกำหนดโฟลเดอร์ jdk ของคุณในตัวแปร JAVA_HOME เพิ่ม% JAVA_HOME% ในพา ธ ตัวแปรของคุณ

ลบหรือเปลี่ยนชื่อ java.exe, javaw.exe และ javaws ในโฟลเดอร์ system32

ดำเนินการ cmd.exe, java -version ตอนนี้ใช้เวอร์ชันใหม่ที่คุณกำหนดใน JAVA_HOME


1

นอกเหนือจากคำตอบของ Anand Gupta แล้วอย่าลืมใช้จาวาอื่นยกเว้นที่คุณต้องการ เรียกใช้which java( where javaสำหรับ Windows) และดูว่ามีการใช้ปฏิบัติการจาวาใด เพียงลบรายการที่คุณไม่ต้องการใช้และหากไม่มีสิ่งที่คุณต้องการให้เพิ่มลงใน PATH


0

ก่อนอื่นคุณควรมี Java 7 ถ้าคุณไม่มีให้ติดตั้งก่อน (ฉันไม่รู้ว่าคุณใช้ Linux, Mac, yum, apt, homebrew คุณควรค้นหาด้วยตัวเอง)

หากคุณมี Java 7 อยู่แล้วให้รัน:

echo $JAVA_HOME

ผลลัพธ์ควรเป็นดังนี้: /usr/lib/jvm/java-8-oracle. ใกล้ไดเร็กทอรีนี้คุณควรเห็นjava-7ไดเร็กทอรี หลังจากที่คุณพบแล้วให้เรียกใช้

export JAVA_HOME=${java-7-dir}

เปลี่ยน {java-7-dir}เส้นทางไดเร็กทอรีของคุณ จากนั้นคุณสามารถเรียกใช้คำสั่งของคุณ

นี่เป็นเพียงวิธีแก้ปัญหาชั่วคราว หากต้องการเปลี่ยนอย่างถาวรให้ใส่คำสั่งดังกล่าวลงในไฟล์~/.bashrcไฟล์

แก้ไข: หากคุณใช้ Windowsให้เปลี่ยนตัวแปรสภาพแวดล้อมเป็นJAVA_HOMEพา ธ ไดเร็กทอรีการติดตั้ง Java 7 ของคุณ


@AnandGupta ฉันเพิ่มเคส Windows
mtyurt

ในกรณีของ Linux คุณต้องระบุพา ธ ไปยังไบนารี Java ใน JAVA_HOME ตัวอย่างเช่น /usr/java/jdk1.5.0_07/bin/java ในกรณีของ Windows ควรทำไดเร็กทอรีการติดตั้งเท่านั้น
Aditya K

0

ผลงานสั้น ๆ ของฉันสำหรับการแบ่งปันปัญหาเดียวกันกับ Talend Open Studio เวอร์ชัน 64 บิต

  1. เรียกใช้ .. \ TOS_DI-Win32-20150702_1326-V6.0.0 \ TOS_DI-win-x86_64.exe ด้วยตนเอง (ไม่เชื่อมโยงเมนู Windows เริ่มต้น)
  2. และข้อความแสดงข้อผิดพลาดของรีจิสทรีนี้จะปรากฏขึ้น

ในการแก้ไขปัญหานี้ให้ลบไฟล์ java.exe, javaw.exe และ javaws.exe ทั้งหมดบน c: \ ProgramData \ Oracle \ Java \ javapath \

และ TOS เริ่มต้นด้วยเวอร์ชัน 64 บิตอย่างถูกต้อง!


0

ลบออกจากเส้นทางระบบ:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

และจะแก้ไขปัญหาในการอัปเกรดเวอร์ชัน java จาก 1.7 เป็น 1.8


1
คุณช่วยบอกเราได้ไหมว่าทำไม?
Vinay Prajapati

0

มี java.exe อื่นจาก jre เวอร์ชัน 1.8 ที่อยู่ใน "เส้นทาง" คุณควรค้นหาและลบทิ้งหากเป็นไปได้ อาจอยู่ในข้อมูลชั่วคราวของผู้ใช้สำหรับแอปพลิเคชันที่ต้องการ jre


0

โปรดเปลี่ยนตัวแปรระบบ JAVA_BIN และ JAVA_HOME จากนั้นรีสตาร์ทระบบหรืออาจเข้าสู่ระบบอีกครั้ง คุณมีข้อผิดพลาดนั้นเนื่องจากยังคงเป็นเส้นทาง jdk1.7 บน windows จะเป็นดังนี้: ป้อนคำอธิบายภาพที่นี่


0

เพียงติดตั้ง Java SE Runtime Environment JRE 7!

ตอนนี้คุณเห็น "java 7" & "java 8" ใน "Programs and Features" ใน "Control Panel"

มันได้ผลสำหรับฉัน


0

วิธีแก้ปัญหาที่เป็นไปได้วิธีหนึ่งคือการเพิ่มไฟล์ bat ที่โฟลเดอร์ Sencha CMD ตามที่แนะนำในเธรดนี้ข้อผิดพลาด Sencha Cmd 5 + Java 8ข้อผิดพลาด

แบตช์จะมีชื่อ "sencha.bat" พร้อมรหัสนี้:

@echo off
set JAVA_HOME=<YOUR JDK 7 HOME>
set PATH=%JAVA_HOME%\bin;%PATH%
set SENCHA_HOME=%~dp0
java -jar "%SENCHA_HOME%\sencha.jar" %*

วางไว้ที่โฟลเดอร์ sencha ในกรณีของฉันคือ

C:\Users\<YOUR USER>\bin\Sencha\Architect\Cmd\6.2.0.103

ขั้นตอนต่อไปนี้คือการเปลี่ยนตัวแปรสภาพแวดล้อมของ PATHEXT เปลี่ยนตัวแปรผู้ใช้เพื่อให้มีผลกระทบน้อยที่สุด

ฉันเปลี่ยนจาก

COM;.CMD;.EXE;.BAT;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

ถึง

COM;.BAT;.EXE;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

แนวคิดคือการทำให้ windows เรียกใช้ไฟล์. bat ก่อนไฟล์. exe นี่เป็นสิ่งสำคัญเนื่องจากในโฟลเดอร์ sencha มีไฟล์ "sencha.exe" อยู่แล้ว และในบรรทัดคำสั่งหากคุณพิมพ์ "sencha" ระบบจะเรียกใช้ "sencha.exe" แทน "sencha.bat"

นี่เป็นทางออกเดียวที่ใช้ได้ผลเพราะฉันถูก จำกัด มากในเรื่องสิทธิ์


0

ระบบของฉัน: - Windows 8.1

สภาพแวดล้อม Java

  • C: \ JavaEnvironment \ Java \ jdk1.8.0_161
  • C: \ JavaEnvironment \ Java \ jdk1.7.0_75

ฉันเพิ่งติดตั้ง Oracle 11g XE และฉันได้รับข้อความแสดงข้อผิดพลาดดังกล่าวเมื่อเข้าถึงคำสั่ง "java" ที่พร้อมรับคำสั่ง

ฉันตรวจสอบตัวแปรสภาพแวดล้อมตรวจสอบลำดับ (ตามที่กล่าวไว้ในการตอบกลับก่อนหน้านี้) และตรวจพบว่าตัวแปร PATH ระบบของฉันมีรายการต่อไปนี้เป็นรายการแรก:

C: \ OracleDatabase \ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \ bin ;

ฉันเปลี่ยนลำดับและกำหนดเส้นทาง JDK เป็นรายการแรก:

ป้อนคำอธิบายภาพที่นี่

ฉันจำลองการเปลี่ยนแปลงเดียวกันกับตัวแปรผู้ใช้: เส้นทาง

ป้อนคำอธิบายภาพที่นี่

หลังจากเสร็จสิ้นกิจกรรมข้างต้นฉันรีสตาร์ทพรอมต์คำสั่งและดำเนินการคำสั่ง java -version และปัญหาก็หายไป แสดง Java 8 เป็นเวอร์ชันปัจจุบัน


-1

ฉันมีปัญหาที่คล้ายกัน การย้ายเส้นทาง JDK และ JRE ไปที่ด้านบนสุดของตัวแปรพา ธ ช่วยแก้ปัญหาได้ (ซึ่งให้ความสำคัญเป็นอันดับแรกเหนือสิ่งที่มีอยู่ใน System32)

ตัวอย่างเช่นนี่คือของฉัน:

ป้อนคำอธิบายภาพที่นี่


-2

Unistall Java 8 จากรายการโปรแกรมของคุณ โดยทำตามขั้นตอนด้านล่าง: -

จากเดสก์ท็อปของคุณคลิกที่เมนูเริ่ม (หรือลูกบอลเริ่ม) ที่ด้านล่างซ้ายของหน้าจอ ไปที่แผงควบคุม คลิกที่โปรแกรมและคุณสมบัติ เลือก Java8 แล้วคลิกถอนการติดตั้ง


-2

ฆ่าแอปพลิเคชันทั้งหมดที่เกี่ยวข้องกับ java ในตัวจัดการงานจากนั้นลบ Java.exe, Javaw.exe และ Jawaws.exe จาก C: \ windows \ System32

สิ่งนี้จะช่วยแก้ปัญหาของคุณได้ ... :)


คุณช่วยอธิบายให้ชัดเจนได้ไหมว่าจะแก้ปัญหานี้ได้อย่างไร
มูฮัมหมัดมามูร์ข่าน

-3

เพียงแค่ทำสิ่งนี้และได้ผล

HKLM> SOFTWARE> JavaSoft> Java Runtime Environment

เพียงแค่เปลี่ยนเวอร์ชันปัจจุบันเป็น 1.7 ด้วยตนเอง

ฮ่า ๆ ... แต่มันได้ผล!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.