Eclipse พูดว่า:“ พื้นที่ทำงานที่ใช้งานอยู่หรือไม่สามารถสร้างได้เลือกพื้นที่อื่น” ฉันจะปลดล็อคพื้นที่ทำงานได้อย่างไร


295

เมื่อฉันเริ่มต้น Eclipse บอกว่า "ไม่สามารถล็อคพื้นที่ทำงาน"

"ไม่สามารถเปิดใช้งานผลิตภัณฑ์ได้เนื่องจากมีการใช้งานพื้นที่ทำงานที่เกี่ยวข้องโดยแอปพลิเคชัน Eclipse อื่น" หรือ“ พื้นที่ทำงานที่ใช้งานอยู่หรือไม่สามารถสร้างได้ให้เลือกพื้นที่ทำงานอื่น”

แต่ฉันรู้ว่ามันไม่ใช่

ฉันจะ "ปลดล็อค" ได้อย่างไร

คำตอบ:


548

เพียงลบ.lockไฟล์ใน.metadataไดเรกทอรีในไดเรกทอรีเวิร์กสเปซ eclipse ของคุณ

ข้อควรระวัง - หากคุณลบ.metadataโฟลเดอร์การตั้งค่าทั้งหมดจะถูกลบ


3
ฉันลาดเทดูเหมือนว่าจะลบมันตามที่มันบอกว่ามันเปิดอยู่แล้วในคราสเมื่อมันไม่ได้เปิดจริงๆ ...
Anubha

31
ดูว่ามีกระบวนการใด ๆ ที่เกี่ยวข้องกับ eclipse ที่ทำงานในพื้นหลังและฆ่ามัน
AlvaroSantisteban

6
ขอบคุณ Boris! ไม่ใช่สถานที่ที่ถูกต้อง แต่ตอนนี้ฉันต้องพูดจาโผงผาง .. ทำไม Eclipse ไม่ให้ตัวเลือกในการลบไฟล์. lock IDE ที่เคารพตัวเองไม่สามารถมีหลายอินสแตนซ์ที่ทำงานอยู่ในพื้นที่ทำงานเดียวกันได้หรือไม่ หากการลบไฟล์. lock เป็นทางออกเดียวทำไม Eclipse ไม่ลบเมื่อเริ่มต้นหลังจากตรวจสอบว่าไม่มีอินสแตนซ์อื่นกำลังทำงานอยู่ ลองคิดดูสิไฟล์. ล็อคจะล้าสมัยทันที! สุดท้ายผู้แก้ไขอื่น ๆ จะไม่ถูกบล็อกไม่ให้เปิดไฟล์ในพื้นที่ทำงานดังนั้นจึงไม่มีประโยชน์ที่จะเริ่มต้นด้วย ฉันเกลียดคุณอุปราคา!
pauluss86

7
.lockไฟล์เป็นไฟล์ที่ซ่อนอยู่ดังนั้นถ้าคุณไปหามันด้วยlsอย่าลืมตัวเลือก:-a ls -a .metadata
John McGehee

4
ก่อนที่จะลบไฟล์ล็อคตรวจสอบให้แน่ใจว่ากระบวนการสุริยุปราคาเก่าตายไปแล้วอย่างที่คุณคิด
Amir Uval

39

ฉันเห็นการแก้ไขอื่น ๆ 3 รายการแล้ว:

  1. ใน. metadata /, ไฟล์ rm .lock
  2. หาก # 1 ใช้งานไม่ได้ให้ลองฆ่ากระบวนการ javaw.exe ฯลฯ จากนั้นไฟล์ rm .lock
  3. หาก # 1 และ # 2 ไม่ทำงานให้ลองใช้ไฟล์ rm .log ใน. metadata / และตรวจสอบอีกครั้ง. plugin /
  4. สิ่งนี้ได้ผลเสมอสำหรับฉัน: ย้าย. metadata /, เปิดและปิด eclipse, จากนั้นเขียนทับ. metadata back

วิธีการแก้ปัญหานี้ลดลงเพื่อทำความสะอาดโฟลเดอร์. metadata


... ยกเว้นถ้าโฟลเดอร์. metadata ของคุณมีข้อมูลปลั๊กอินของ บริษัท ที่กำหนดเองตอนนี้จะได้รับ "รีเซ็ต" กลับไปเป็นข้อมูลเริ่มต้นเวอร์ชันที่คุณได้รับหากปลั๊กอินนั้นไม่เคยใช้กับ Eclipse มาก่อน
Darrin

14

ไปที่ TaskManager (คลิกขวาในแถบงาน) และเลือกแถบเมนูกระบวนการและเลือก eclipse.exe และคลิก EndProcess


ฉันใช้ STS ดังนั้นฉันจึงฆ่า STS.exe
Pratapi Hemant Patel

11

อีกสาเหตุที่เป็นไปได้ของ“พื้นที่ทำงานในการใช้งานหรือไม่สามารถสร้างเลือกที่แตกต่างกันอย่างใดอย่างหนึ่ง” ปัญหาก็คือว่าเส้นทางที่แท้จริงให้กับพื้นที่ทำงานของคุณอาจมีการเปลี่ยนแปลง

ในกรณีของฉันที่ตั้งจริงของพื้นที่ทำงานมีการเปลี่ยนแปลง แต่ฉันใช้ symlink เพื่อทำให้ดูเหมือนว่าอยู่ในตำแหน่งเดียวกัน ฉันเห็นข้อผิดพลาดในบันทึกที่ระบุว่าคราสกำลังดูตำแหน่ง "ของจริง" ก่อนหน้าซึ่งตรงข้ามกับการติดตาม symlink และสิ่งนี้ทำให้เกิดข้อผิดพลาด

ในกรณีของฉันฉันเพิ่งย้ายพื้นที่ทำงานกลับไปที่ตำแหน่งเดิม


มีกรณีที่คล้ายกันใน Windows: เพื่อนร่วมงานของฉันพัฒนาบนไดรฟ์ D: แต่ฉันมี C: ดังนั้นฉันจึงใช้ SUBST D: C: \ และสามารถใช้พื้นที่ทำงานได้ วันถัดไป (เข้าสู่ระบบครั้งต่อไป) Windows ลืม SUBST ของฉันแน่นอนและฉันได้รับข้อความแสดงข้อผิดพลาด
hvb

7

มีอีกกรณีหนึ่งที่พา ธ ไปยังพื้นที่ทำงานอาจไม่มีอยู่เช่นถ้าคุณนำเข้าการตั้งค่าจากพื้นที่ทำงานอื่นแล้วที่อยู่ที่นำเข้าบางพื้นที่อาจปรากฏในกล่องโต้ตอบ "พื้นที่ทำงานแบบเปิด" ของคุณ ถ้าคุณไม่สนใจที่อยู่เหล่านั้นคุณจะได้รับข้อผิดพลาดเดียวกันเมื่อคุณพยายามเปิดที่อยู่เหล่านั้น


7

การทำงานของคราสAdministrator Modeจะแก้ไขให้ฉัน คุณสามารถทำได้โดย[คลิกขวา] -> เรียกใช้ในฐานะผู้ดูแลระบบบนeclipse.exeจาก dir ติดตั้งของคุณ

ฉันอยู่ในสภาพแวดล้อมการทำงานกับเครื่อง win7 ที่มีสิทธิ์ จำกัด ฉันยังลบ.lockและ.logไฟล์ แต่ก็ไม่ได้ช่วย มันอาจเป็นการรวมกันของทุกอย่างที่ทำให้มันใช้งานได้


เรียบง่าย แต่ก็แค่สิ่งที่ฉันต้องการ! ใน Linux รันจากบรรทัดคำสั่ง: sudo eclipse
Joe

2

บางครั้งถ้าคุณใช้ Windows คุณอาจไม่เห็นกระบวนการทั้งหมด - หรือกระบวนการผู้ร้ายในตัวจัดการงาน ฉันต้องคลิก 'แสดงกระบวนการจากผู้ใช้ทั้งหมด' และมี java.exe นี้ที่ฉันต้องฆ่าเพื่อให้ได้พื้นที่ทำงานกลับมา


2

อีกกรณีที่เป็นไปได้หากไม่มีการทำงานคือการเห็นว่ามีJavaโปรแกรมที่ทำงานอยู่ อาจเป็นการเปิดและปิดก่อนหน้าของคุณทำให้อินสแตนซ์ Java ที่ไม่มีทักษะ

  1. อย่ามองหาอินสแตนซ์ของจาวาใด ๆ ที่กำลังทำงานอยู่หากมีอย่างน้อยสองอย่างที่คุณต้องการจะฆ่าหนึ่ง แต่ส่วนใหญ่แล้วฉันจะฆ่าจาวาที่ทำงานอยู่ :) เพราะจาวานั้นกำลังใช้พื้นที่ทำงานก่อนหน้านี้และจะยังไม่ฆ่า มัน.

  2. เปลี่ยนพื้นที่ทำงานอื่นในกรณีที่คุณต้องการ IDE หลายตัวเพื่อใช้และทำงานในโครงการที่แตกต่างกันหรือโครงการเดียวกัน แต่คุณควรนำเข้าพื้นที่ทำงานของฟอร์มโครงการหลังจากที่คุณเปิด IDE ของคุณ


1

การลบบันทึกและ. ล็อคไม่ทำงาน

-ตัวเลือกที่สะอาดได้รับการแก้ไขสำหรับฉัน


1

ฉันประสบปัญหานี้เมื่อไม่เคยปิด eclipse (กระบวนการทำให้เกิดคราสหยุดทำงานจากตัวจัดการงานหรือปิดเครื่องคอมพิวเตอร์) ฉันพยายามทำตามขั้นตอนด้านล่างมันใช้งานได้สำหรับฉัน

1) ลบชื่อไฟล์ที่ขึ้นต้นด้วย ".TableTable" จากโฟลเดอร์นี้

C: \ คราส \ Configuration \ org.eclipse.osgi.manager

2) ลบไฟล์บันทึกเช่นไฟล์ข้อความที่ขึ้นต้นด้วยชื่อที่เป็นตัวเลขจากโฟลเดอร์นี้

C: \ คราส \ การตั้งค่า

3) Open Command prompt (cmd) นำทางไปยังโฟลเดอร์นี้

C: \ คราส

พิมพ์คำสั่งด้านล่าง

คราสเริ่มสะอาด

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


0

คำตอบ @Boris ที่ให้นั้นถูกต้อง 99% ของเวลาอย่างไรก็ตามมันอาจเกิดขึ้นได้หากคุณเปิดพื้นที่ทำงานใน Eclipse รุ่นเก่ากว่า เวิร์กสเปซที่นำเข้ามา / สร้างโดยจูโน่จะโยนข้อผิดพลาดนี้เมื่อเปิดในกาลิเลโอ


0

อีกสาเหตุที่พบได้ทั่วไปสำหรับปัญหานี้คือถ้าคุณพยายามโหลดไดเรกทอรีบนไดรฟ์ที่ไม่ได้เชื่อมต่ออีกต่อไป ตัวอย่างเช่นสมมติว่าคุณเขียนโปรแกรมใน C: \ Code \ Java แต่บางครั้งก็ใช้งานแฟลชไดรฟ์ได้ H: \ Code \ Java หากคุณไม่ได้เชื่อมต่อไดรฟ์อาจเชื่อได้ง่ายว่าคุณกำลังพยายามโหลดไดเรกทอรีที่ถูกต้องโดยไม่สังเกตเห็นการพิมพ์ผิดของคุณ


0

ปัญหาอีกประการหนึ่งคือเมื่อ eclipse ไม่มีสิทธิ์เข้าถึงการเขียนไปยังโฟลเดอร์ src ของคุณ เปลี่ยนสิทธิ์การรักษาความปลอดภัยและตรวจสอบให้แน่ใจว่า "ผู้ใช้ที่ได้รับการรับรองความถูกต้อง" ถูกเพิ่มด้วยการตรวจสอบสิทธิ์ทั้งหมด แต่ควบคุมแบบเต็มและการอนุญาตพิเศษ


0

ฉันมีข้อผิดพลาดนี้หลังจากที่ฉันรีสตาร์ทระบบ (หลังจากเวลานานโดยปกติฉันแค่ทำให้มันหลับ) พบว่าเมื่อฉันติดตั้งไดรฟ์ (โดยการคลิกและเปิดมัน) ซึ่งเป็นที่ตั้งของโฟลเดอร์โครงการและเปิด eclipse อีกครั้งแก้ปัญหาให้ฉันได้

PS: ฉันเป็นผู้ใช้ Ubuntu


0

ต่อไปนี้เป็นขั้นตอนในการแก้ไขปัญหา 4 ขั้นตอนเหมาะสำหรับฉัน

  1. ลบไฟล์. log ตามโฟลเดอร์. metadata
  2. ตรวจสอบสิทธิ์ผู้ใช้ปัจจุบันตรวจสอบให้แน่ใจว่าได้ทำเครื่องหมายในช่องควบคุมเต็มรูปแบบแล้วคลิกนำไปใช้แล้วตกลง
  3. หากคุณเรียกใช้การจัดระเบียบไดรฟ์ระบบหรือการบำรุงรักษาก่อนที่คุณจะรันโปรแกรมแก้ไข eclipse บางครั้งเส้นทางไฟล์ต้นฉบับจะไม่อยู่ในพา ธ ที่เกี่ยวข้องเพื่อให้แน่ใจว่ารัน "เวลารุ่นก่อนหน้า" ก่อนการบำรุงรักษาระบบของไดรฟ์ของคุณ .
  4. ตัวเลือกสุดท้ายนี้ใช้ได้สำหรับฉัน ตรวจสอบอักษรระบุไดรฟ์ของไดรฟ์ปัจจุบันของคุณที่บันทึกรหัสแก้ไข หากมีสิ่งผิดปกติเช่นก่อนการบำรุงรักษาอักษรระบุไดรฟ์ของคุณคือ K ดังนั้นหลังจากการจัดเรียงข้อมูลหรือการบำรุงรักษา อักษรชื่อไดรฟ์ตอนนี้คือ L ดังนั้นคุณควรเปลี่ยนอักษรชื่อไดรฟ์เป็นแบบเดิมนั่นคือ K. เมื่อต้องการทำเช่นนี้คลิก ff: เปิดแผงควบคุมระบบและความปลอดภัยเครื่องมือการดูแลระบบการจัดการคอมพิวเตอร์การจัดการดิสก์ในดิสก์ mngt คลิก> เปลี่ยนอักษรระบุไดรฟ์และเส้นทาง> คลิกลบ> จากนั้นตกลงเปิดอีกครั้งแล้ว> คลิกเพิ่มและ> เลือกอักษรชื่อไดรฟ์เดิมของไดรฟ์นั้นแล้วคลิกตกลง หากคุณใช้คอมพิวเตอร์เป็นเวลานานให้รีสตาร์ทก่อนเพื่อรีเฟรชทุกสิ่ง

1
คุณสามารถทำรูปแบบที่ดีกว่าคำอธิบายของคุณ ขั้นตอนสุดท้ายยากต่อการอ่าน คุณเขียน 4 หยุดไม่ใช่ 5 อย่างที่คุณพูด
Robert

0

การเลือก "อันที่แตกต่าง" เป็นทางออกที่ง่ายมาก

ฉันใช้ Eclipse ในฐานะผู้ดูแลระบบ ( sudo eclipseจากบรรทัดคำสั่ง) เนื่องจากโฟลเดอร์ "พื้นที่ทำงาน" กำลังขว้างWorkspace in use or cannot be created…ข้อผิดพลาด (และทำงานในฐานะผู้ดูแลระบบดูเหมือนจะเป็นทางออกเดียวที่แก้ไขได้)

เพื่อนร่วมงาน (กำลังทำงานกับฉันปัญหาเดียวกันนี้) ต้องการเรียกใช้ Eclipse โดยคลิกที่ไอคอน ดังนั้นเมื่อเขารัน Eclipse และกล่องโต้ตอบปรากฏขึ้นพร้อมกับเลือกพื้นที่ทำงานของคุณเขาเพิ่งเพิ่ม "2" ไปยังจุดสิ้นสุดของ "พื้นที่ทำงาน"

สิ่งนี้สร้างโฟลเดอร์ใหม่: "workspace2" Eclipse วิ่งได้ดีกับสิ่งนั้น และฉันไม่ได้มีปัญหาการล็อคตั้งแต่


0

มันจะเกิดขึ้นเมื่อคุณไม่ได้ปิด eclipse.exe อย่างถูกต้อง

* เปิดตัวจัดการงาน -> จบงาน eclipse ของคุณ -> ตอนนี้เปิด eclipse.exe มันจะทำงาน

หวังว่าจะช่วยคน


0

ฉันได้สังเกตกรณีหนึ่งเมื่อ eclipse เมื่อถูกบังคับให้ออกจากระบบหรือAlt-f2 xkilled ใน linux ความพยายามที่จะเปิด eclipse ทันทีแสดงให้เห็นข้อผิดพลาดที่ แม้แต่ไฟล์ metadat / .lock ก็ไม่มีอยู่ในกรณีนั้น อย่างไรก็ตามมันเริ่มทำงานหลังจากผ่านไปประมาณสองนาที


0

สำหรับผู้ใช้ Mac:

อาจเป็นได้ว่าอินสแตนซ์อื่นของ eclipse กำลังทำงานอยู่ในพื้นหลัง หากเป็นเช่นนั้นให้ใช้ Force Quit eclipse หรือ

ps -ef | grep eclipse
kill -9 pid

ไปยังอินสแตนซ์ eclipse ทั้งหมดและเริ่มพื้นที่ทำงานใหม่


0

ฉันไม่ทราบว่ามีอะไรผิดปกติ แต่ฉันแก้ไขด้วยการสร้างไดเรกทอรีโดยตรงในไดรฟ์ c (c: \ dev) แทนที่จะมาจากโฟลเดอร์บ้านของฉัน (c: \ users \ me \ dev) แต่ฉันไม่ต้องคิดเกี่ยวกับมัน ในกรณีของฉันมันเป็นอินสแตนซ์ที่แยกออกมาเป็น eclipse ฉันไม่เห็นโฟลเดอร์. matadata ในโฟลเดอร์ eclipse โดยพระคุณของพระเจ้าฉันแก้ไข


0

เริ่มต้น Eclipse -Dosgi.locking=noneมีตัวเลือก

ฉันได้รับเคล็ดลับที่นี่และใช้งานได้

อย่าทำสิ่งนี้จนกว่าคุณจะรู้ว่าไม่มีใครสามารถทำงานกับไฟล์เดียวกันได้ในเวลาเดียวกัน


0

เหตุผลที่สิ่งนี้เกิดขึ้นกับฉัน (ด้วยโฟตอน) ได้รับการแก้ไขอย่างง่ายดายโดยเปลี่ยนการตั้งค่าทั่วไปของ Eclipse:

Window -> Preferences -> General: Uncheck: "Always run in background"

เมื่อคุณทำการเปลี่ยนแปลงดังกล่าวทุกครั้งที่คุณปิด Eclipse จะไม่ทำให้กระบวนการ javaw.exe ทำงานในพื้นหลังอีกต่อไป ฉันคาดเดาว่านี่เป็นข้อบกพร่องในโฟตอน (หรือข้อบกพร่องในการใช้ Java Corretto OpenJDK เวอร์ชัน Java กับ Eclipse) ซึ่งจะได้รับการแก้ไขในวันหนึ่ง

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