วิธีเปลี่ยนโปรเจ็กต์ดีฟอลต์ Eclipse เป็นโปรเจ็กต์ Java


140

ฉันเช็กเอาต์โปรเจ็กต์จาก SVN และไม่ได้ระบุชนิดโปรเจ็กต์ดังนั้นจึงเช็กเอาต์เป็นโปรเจ็กต์ "ดีฟอลต์" วิธีที่ง่ายที่สุดในการแปลงให้เป็นโครงการ "Java" คืออะไร

ฉันใช้ Eclipse เวอร์ชัน 3.3.2



2
ฉันไม่เข้าใจว่าทำไมสิ่งนี้จึงเป็นเรื่องยากสำหรับ Eclipse
Oliver Watkins เมื่อ

คำตอบ:


119

เปิดไฟล์. project และเพิ่ม java nature และ builders

<projectDescription>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

และใน. classpath อ้างอิง Java libs:

<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
</classpath>

24
ฉันเห็นด้วยกับ Lorenzo การแก้ไขไฟล์กำหนดค่าด้วยมือเป็นวิธีที่ดีในการแก้ไขปัญหา Eclipse
อดัม

5
@Ricky มันสามารถทำได้ผ่าน UI ในบางเวอร์ชันด้วยปลั๊กอินบางตัว
Chris Marasti-Georg

1
@ ChrisMarasti-Georg ใช่คุณพูดถูก แต่ถึงกระนั้นโซลูชันก็ควรจะติดตั้งปลั๊กอินเหล่านั้นหรืออัปเดต UI แทนที่จะปรับแต่ง XML ด้วยมือเป็นพิเศษเมื่อผู้ใช้ไม่รู้ว่ากำลังทำอะไรอยู่ นอกจากนี้ยังเป็นเพราะสิ่งนั้นท้าทายวัตถุประสงค์ของการมี IDE ขั้นสูง
ricardoespsanto

1
ในกรณีของฉันฉันต้องเพิ่มแท็ก <nature> ใน <natures /> ฉันได้นำเข้าโครงการ Maven ที่มีอยู่แล้วและ Eclipse ไม่รู้จักว่าเป็นโครงการ Java อย่างไรก็ตาม Eclipse ได้กำหนดค่าส่วน Maven <buildCommand> อย่างถูกต้องแล้ว HTH
Nathan Smith

@flashdisk ควรอยู่ในไดเรกทอรีรากของโครงการ
Chris Marasti-Georg

118

การเปลี่ยน XML และ / หรือการตั้งค่าด้วยตนเองนั้นมีอันตรายมากใน eclipse เว้นแต่คุณจะรู้ว่ากำลังทำอะไร ในอีกกรณีหนึ่งคุณอาจพบว่าการทำโครงงานเสร็จสมบูรณ์ แนะนำให้ทำการสำรองข้อมูล!

จะใช้ Eclipse ได้อย่างไร

  1. เลือกโครงการ
  2. เปิดคุณสมบัติของโครงการผ่านโครงการ -> คุณสมบัติ
  3. ไปที่ "Targetetted Runtimes" และเพิ่มรันไทม์ที่เหมาะสม คลิกใช้
  4. ไปที่ "Project Facets" และเลือก JAVA facet ที่ปรากฏเนื่องจากขั้นตอนที่ 4 คลิกใช้
  5. กำหนดเส้นทางการสร้างของคุณ
  6. หากเป็นโครงการ Maven คุณอาจต้องการเลือกโครงการคลิก Maven -> อัปเดตการกำหนดค่าโครงการ ...

นั่นทำเพื่อฉัน และ Eclipse ได้รับการกำหนดค่าอย่างถูกต้อง หวังว่ามันจะทำงานให้คุณด้วย


25
Lorenzo มีวิธีการที่เหมาะสมในการทำเช่นนั้น การใช้อินดิโก้: คลิกขวาที่โครงการ> คุณสมบัติ ... > แง่มุมของโครงการ> ตรวจสอบ Java> ใช้
Thien

13
ใน Eclipse Indigo ไม่มีรายการ "Targetted Runtimes" ในคุณสมบัติโครงการอย่างน้อยฉันก็หาไม่พบ
simon

8
@Lorenzo ฉันใช้เอสทีและผมไม่ได้มี "Java แง่" ภายใต้โครงการแง่มุม" ความคิดใด ๆ .
โรเบิร์ต

17
โปรดทราบว่า "Project Facets" มีเฉพาะในเวอร์ชัน Java EE ของ Eclipse (หรือเมื่อติดตั้ง WTP) ดูEclipse Bug 102527สำหรับการใช้ฟังก์ชันนี้ในทุกรุ่น
robinst

9
ไม่ทำงาน! ฉันไม่มี "Runtimes ที่กำหนดเป้าหมาย" และ "Project Facets"
Lai

53

ในคราสรุ่นล่าสุดการแก้ไขแตกต่างกันเล็กน้อย ...

  1. คลิกขวาและเลือกคุณสมบัติโครงการ
  2. เลือก Project Facets
  3. หากจำเป็นให้คลิก "แปลงเป็นรูปแบบเหลี่ยมเพชรพลอย"
  4. เลือก facet "Java"
  5. คลิกตกลง

23

ฉันลบโครงการโดยไม่ลบเนื้อหา จากนั้นฉันก็สร้างโครงการ Java ใหม่จากทรัพยากรที่มีอยู่ ชี้ไปที่โฟลเดอร์รูทการชำระเงิน SVN ของฉัน สิ่งนี้ใช้ได้สำหรับฉัน ถึงแม้ว่าวิธีของ Chris จะเร็วกว่ามาก นั่นเป็นเรื่องดีที่ควรทราบสำหรับอนาคต ขอบคุณ!


วิธีการทำงานของคุณ แต่เป็นจุดสำคัญ: ดังที่ระบุไว้ที่นี่คุณต้องไม่ยกเลิกการเลือก "ใช้ตำแหน่งเริ่มต้น"
Robin Green

12

การใช้โปรเจ็กต์โปรเจ็กต์เราสามารถกำหนดค่าคุณลักษณะและข้อกำหนดสำหรับโปรเจ็กต์

วิธีค้นหา Project facets บน eclipse:

  • ขั้นตอนที่ 1: คลิกขวาที่โครงการและเลือกpropertiesจากเมนู
  • ขั้นตอนที่ 2: เลือกproject facetsตัวเลือก คลิกที่Convert to faceted form... ป้อนคำอธิบายรูปภาพที่นี่

  • ขั้นตอนที่ 3: เราสามารถค้นหา facets ที่มีอยู่ทั้งหมดที่คุณสามารถเลือกและเปลี่ยนการตั้งค่า ป้อนคำอธิบายรูปภาพที่นี่


วิธีที่น่าอัศจรรย์ในการแก้ไขปัญหานี้
Atiq

11

วิธีการของโจเป็นวิธีที่มีประสิทธิภาพที่สุดที่ฉันได้พบในการสนทนานี้ ในการทำอย่างละเอียดเพิ่มเติมเล็กน้อยคุณควรคลิกขวาที่โครงการในแพ็คเกจ explorer ใน eclipse จากนั้นเลือกที่จะลบโดยไม่ต้องลบไดเรกทอรีหรือเนื้อหา จากนั้นคุณเลือกที่จะสร้างโครงการ Java (ไฟล์ -> ใหม่ -> โครงการ Java) และในส่วนเนื้อหาของกล่องโต้ตอบโครงการ Java ใหม่ให้เลือก 'สร้างโครงการจากแหล่งที่มีอยู่'

ข้อดีของวิธีนี้คือโฟลเดอร์ต้นทางจะถูกระบุอย่างเหมาะสม ฉันพบว่าการลอกคราบกับไฟล์. project จะนำไปสู่ไดเรกทอรีทั้งหมดที่ถูกพิจารณาว่าเป็นโฟลเดอร์ต้นทางซึ่งไม่ใช่สิ่งที่คุณต้องการ


การทำงานกับ eclipse Kepler build 20140224-0627 และ "file-> new-> project ...-> ... จากแหล่งที่มีอยู่" ดูเหมือนจะเป็นวิธีที่ง่ายที่สุด
user1050755

สิ่งนี้ทำงานได้แตกต่างกันเล็กน้อยใน Kepler บิต 'สร้างโครงการจากแหล่งที่มีอยู่' ไม่จำเป็น แต่ใช่นี่เป็นวิธีที่ดีที่สุดที่จะทำ
Luís de Sousa

5

คุณสามารถทำได้โดยตรงจาก eclipse โดยใช้มุมมองเนวิเกเตอร์ (หน้าต่าง -> แสดงมุมมอง -> นาวิเกเตอร์) ในมุมมองเนวิเกเตอร์ให้เลือกโครงการและเปิดเพื่อให้คุณสามารถดูไฟล์.projectได้ คลิกขวา -> เปิด คุณจะได้รับมุมมองตัวแก้ไข XML แก้ไขเนื้อหาของโหนดnaturesและแทรกชายด์ใหม่natureด้วยorg.eclipse.jdt.core.javanatureเนื้อหา บันทึก

ตอนนี้สร้างไฟล์.classpathมันจะเปิดในตัวแก้ไข XML เพิ่มโหนดชื่อclasspathเพิ่มชื่อเด็กclasspathentryที่มีคุณลักษณะkindที่มีเนื้อหาconและอีกคนหนึ่งชื่อและเนื้อหาpath org.eclipse.jdt.launching.JRE_CONTAINERSave-

ง่ายขึ้นมาก: คัดลอกไฟล์.projectและ.classpathจากโครงการ Java ที่มีอยู่และแก้ไขโหนดresult nameเป็นชื่อของโครงการนี้ บางทีคุณอาจต้องรีเฟรชโครงการ (F5)

คุณจะได้รับผลลัพธ์เช่นเดียวกับวิธีแก้ปัญหาของ Chris Marasti-Georg

แก้ไข

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


5

ใน eclipse รุ่นใหม่กว่า (ฉันใช้ 4.9.0) มีวิธีอื่นอีกวิธีที่ง่ายกว่า เช่นเดียวกับ Project Facets ขณะนี้มี Project Natures ขั้นตอนนี้ง่ายเพียงนำหน้าคุณสมบัติ Natures Project ขึ้นมาแล้วคลิกปุ่มเพิ่ม ... สิ่งนี้จะเกิดขึ้นกับธรรมชาติที่เป็นไปได้ซึ่งรวมถึงคุณสมบัติของ Java Nature และ Eclipse Faceted Project เพียงเพิ่ม Java Nature และเพิกเฉยต่อข้อความเตือนต่างๆที่คุณทำไว้

ลักษณะโครงการ

วิธีนี้อาจดีกว่าเนื่องจากคุณไม่ต้องแปลงเป็นรูปแบบ Faceted ก่อน นอกจากนี้ Java ไม่ได้เสนอในเมนูเพิ่ม Facet


ขอบคุณ. ถูกมองหาสิ่งนี้เป็นเวลาหนึ่งชั่วโมง
Ridhuvarshan

3

อีกวิธีที่เป็นไปได้คือการลบโปรเจ็กต์จาก Eclipse (แต่ไม่ลบเนื้อหาโปรเจ็กต์ออกจากดิสก์!) จากนั้นใช้วิซาร์ดNew Java Projectเพื่อสร้างโปรเจ็กต์แบบแทนที่ ตัวช่วยสร้างนั้นจะตรวจจับรหัส Java และตั้งค่าเส้นทางการสร้างโดยอัตโนมัติ


1
  1. คลิกขวาที่โครงการ
  2. กำหนดค่า -> 'แปลงเป็นแบบฟอร์มประกอบ'
  3. คุณจะได้รับป๊อปอัพเลือก 'Java' ในคอลัมน์ 'Project Facet'
  4. กดใช้และตกลง

กำหนดค่ามีเพียง 2 ตัวเลือกสำหรับฉัน: 1. แปลงเป็น Maven 2. กำหนดค่าและตรวจสอบโครงการที่ซ้อนกัน ฉันต้องใช้งานอะไรเพื่อดูว่า "กำหนดค่าให้กับแบบฟอร์มประกอบเหลี่ยม" หรือไม่?
Reihan_amn

@Reihan_amn ดูเหมือนว่าการติดตั้ง eclipse ในปัจจุบันของคุณไม่รองรับ ฉันไม่แน่ใจว่าปลั๊กอินใดรับผิดชอบ "รูปแบบเหลี่ยมเพชรพลอย" แต่ถ้าคุณดาวน์โหลดเวอร์ชัน Eclipse EEคุณจะได้รับโดยปริยาย
semTex

1

ขึ้นอยู่กับ Eclipse ในคำถามแพ็คเกจ WTP ที่ต้องการอาจพบได้ในชื่อต่างกัน ตัวอย่างเช่นใน Eclipse Luna ฉันพบว่าง่ายที่สุดในการค้นหาด้วย "เครื่องมือ" และเลือกหนึ่งที่กล่าวถึงเครื่องมือสำหรับการพัฒนา Java EE ที่เพิ่มฟังก์ชั่นด้านโครงการ การค้นหาด้วย "WTP" ไม่ได้ช่วยอะไรมาก


เพื่อรับตัวเลือก facet ที่ฉันติดตั้งซอฟต์แวร์ใหม่: Eclipse Java EE Developer Tools ค้นหา 'tools' ใน Eclipse Oxygen
DM
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.