การค้นหาหมายเลขเวอร์ชัน Eclipse


115

ฉันได้โพสต์วิธีการค้นหาไว้ใน Eclipse Gallileo แต่ถ้าใครมีข้อมูลเกี่ยวกับเวอร์ชันเก่าโปรดโพสต์ไว้ด้านล่าง


3
หวังว่าสิ่งนี้จะปรากฏใน Google หากฉันลืมสิ่งนี้อีกครั้ง
Casebash

66
ดูเหมือนเป็นเรื่องน่าขันสำหรับฉันที่พวกเขาทำให้เรื่องนี้ยากที่จะตอบคำถามง่ายๆที่ว่า "ฉันมี Eclipse เวอร์ชันใด"
Lyle

3
ตอนนี้ปรากฏใน Google = P
Casebash

2
ใช่มันขาดความพยายามที่จะทำให้สิ่งต่างๆเป็นเรื่องง่ายสำหรับผู้ใช้ที่ทำให้บริการ / แอพพลิเคชั่นมากมาย @Lyle ลดลง ไอน์สไตน์ (ไม่ใช่ว่าเขาเป็นอะไรหรือคำพูดของเขาเป็นความจริงในกรณีนี้) โดยทั่วไปกล่าวว่าสิ่งต่างๆควรทำให้ง่ายที่สุดเท่าที่จะเป็นไปได้ แต่วันนี้ดูเหมือนว่าหลายคนไม่ได้คำนึงถึงสิ่งใดสำหรับคำพูดดังกล่าว
George Tomlinson

คลิกที่นี่ ตรวจสอบลิงค์นั้น คุณจะได้รับคำตอบที่ดีขึ้น
Sabapathy

คำตอบ:


104

(อัปเดตกันยายน 2555):

MRTชี้ให้เห็นในความคิดเห็นว่าคำถาม" Eclipse Version " อ้างถึง a .eclipseproductในโฟลเดอร์หลักและประกอบด้วย:

name=Eclipse Platform
id=org.eclipse.platform
version=3.x.0

ดูเหมือนจะตรงไปตรงมามากกว่าคำตอบเดิมของฉันด้านล่าง

นอกจากนี้Neeme Praks ยังกล่าวถึงด้านล่างว่ามีeclipse/configuration/config.iniบรรทัดเช่น:

eclipse.buildId=4.4.1.M20140925-0400

อีกครั้งง่ายต่อการค้นหาเป็นผู้ที่มีคุณสมบัติ Java System.getProperty("eclipse.buildId")ตั้งและพบกับ


คำตอบเดิม (เมษายน 2552)

สำหรับ Eclipse Helios 3.6 คุณสามารถอนุมานเวอร์ชันของแพลตฟอร์ม Eclipse ได้โดยตรงจากหน้าจอเกี่ยวกับ:
เป็นการรวมกันของเวอร์ชันสากลของ Eclipse และรหัสการสร้าง:

ข้อความแสดงแทน

นี่คือตัวอย่างสำหรับ Eclipse 3.6M6:
เวอร์ชันจะเป็น: 3.6.0.v201003121448หลังจากเวอร์ชัน 3.6.0 และ build Id I20100312-1448 (การสร้างการรวมตั้งแต่วันที่ 12 มีนาคม 2010 เวลา 14 ชั่วโมง 48

หากต้องการดูได้ง่ายขึ้นให้คลิกที่ "รายละเอียดปลั๊กอิน" และจัดเรียงตามเวอร์ชัน


หมายเหตุ: Eclipse3.6 มีโลโก้ใหม่ล่าสุด:

ข้อความแสดงแทน

และคุณสามารถเห็นรหัสบิลด์ที่แสดงอยู่ในระหว่างขั้นตอนการโหลดของปลั๊กอินอื่น


3
stackoverflow.com/questions/2313660/eclipse-versionคุณสามารถลอง ใช้งานง่ายมากจริงๆ!
MRT

@MRT จุดดี. ฉันได้รวมไว้ในคำตอบเพื่อให้มองเห็นได้มากขึ้น
VonC

1
เมื่อฉันลองสิ่งนี้. clipseproduct มี 3.6.1 แต่ readme / readme_eclipse.html มี 3.6.2 ปรากฎว่า 3.6.2 เป็นเวอร์ชันที่ถูกต้องดังนั้นโปรดระวัง
Dave Griffiths

นอกจากนี้ยังอาจมีประโยชน์ที่จะทราบว่าคุณกำลังเรียกใช้รุ่น 32 หรือ 64 บิตตรวจสอบคำตอบนี้เพื่อดูวิธีการตรวจสอบ: stackoverflow.com/a/9578565/191761
Adam Burley

18

ใน Eclipse Gallileo:

หน้าเกี่ยวกับ (วิธีใช้ -> เกี่ยวกับ Eclipse) มีไอคอนบางส่วนที่ด้านล่างของบทสนทนา ซึ่งควรมีสองอันซึ่งเป็นไอคอน Eclipse ธรรมดา เลือกรายการที่มีคำแนะนำเครื่องมือ "Eclipse.org" Eclipse มีส่วนประกอบหลายอย่างซึ่งแต่ละส่วนมีหมายเลขเวอร์ชันของตัวเอง แกนหลักคือแพลตฟอร์ม Eclipse


15

ผมคิดว่าวิธีที่ง่ายที่สุดคือการอ่านREADMEeclipse/readme/eclipse_readmeไฟล์ภายในไดเรกทอรีคราสของคุณได้ตลอดเส้นทาง

ที่ด้านบนสุดของไฟล์นี้จะบอกหมายเลขเวอร์ชันอย่างชัดเจน:

สำหรับ My Eclipse Juno; มันบอกว่าเป็นเวอร์ชันRelease 4.2.0


2

หากคุณต้องการเข้าถึงสิ่งนี้โดยใช้โปรแกรมคุณสามารถทำได้โดยการหาเวอร์ชันของ eclipse \ plugins \ org.eclipse.platform_ plugin

    String platformFile = <the above file>; //actually directory

versionPattern = Pattern.compile("\\d\\.\\d\\.\\d");
Matcher m = versionPattern.matcher(platformFile);
return m.group();

2

นี่คือข้อมูลโค้ดที่ใช้งานได้ซึ่งจะพิมพ์เวอร์ชันเต็มของ Eclipse ที่กำลังทำงานอยู่ (หรือแอปพลิเคชันที่ใช้ RCP)

String product = System.getProperty("eclipse.product");
IExtensionRegistry registry = Platform.getExtensionRegistry();
IExtensionPoint point = registry.getExtensionPoint("org.eclipse.core.runtime.products");
Logger log = LoggerFactory.getLogger(getClass());
if (point != null) {
  IExtension[] extensions = point.getExtensions();
  for (IExtension ext : extensions) {
    if (product.equals(ext.getUniqueIdentifier())) {
      IContributor contributor = ext.getContributor();
      if (contributor != null) {
        Bundle bundle = Platform.getBundle(contributor.getName());
        if (bundle != null) {
          System.out.println("bundle version: " + bundle.getVersion());
        }
      }
    }
  }
}

จะค้นหาส่วนขยาย "ผลิตภัณฑ์" ที่กำลังทำงานอยู่และใช้เวอร์ชันของปลั๊กอินที่มีส่วนร่วม

ใน Eclipse Luna 4.4.0 จะให้ผลลัพธ์4.4.0.20140612-0500ที่ถูกต้อง


1

สำหรับ Eclipse Java EE IDE - Indigo: Help> About Eclipse> Eclipse.org (ลำดับที่สามจากสุดท้าย) ใน 'About Eclipse Platform' ให้ค้นหา Eclipse Platform และคุณจะมีเวอร์ชันอยู่ใต้คอลัมน์เวอร์ชัน หวังว่านี่จะช่วยผู้ใช้ J2EE Indigo


1

มีคุณสมบัติระบบeclipse.buildId (ตัวอย่างเช่นสำหรับ Eclipse Luna ฉันมี4.4.1.M20140925-0400เป็นค่าที่นั่น)

ฉันไม่แน่ใจว่า Eclipse มีคุณสมบัตินี้ในเวอร์ชันใด

นอกจากนี้ดำดิ่งลงไปและสำรวจคุณสมบัติของระบบที่มีอยู่ทั้งหมด - มีข้อมูลอยู่เล็กน้อยใน eclipse *, os. * osgi. * และ org.osgi. * namespaces


UPDATE! หลังจากทดลองใช้ Eclipse เวอร์ชันต่างๆดูเหมือนว่าeclipse.buildIdคุณสมบัติของระบบจะไม่ใช่ทางที่จะไป ตัวอย่างเช่นใน Eclipse Luna 4.4.0 จะให้ผลลัพธ์4.4.2.M20150204-1700ที่ไม่ถูกต้องอย่างเห็นได้ชัด

ฉันสงสัยว่าeclipse.buildIdคุณสมบัติของระบบถูกตั้งค่าเป็นเวอร์ชันของorg.eclipse.platformปลั๊กอิน น่าเสียดายที่สิ่งนี้ไม่ได้ให้ผลลัพธ์ที่ถูกต้อง (เสมอไป) อย่างไรก็ตามข่าวดีก็คือฉันมีวิธีแก้ปัญหาด้วยตัวอย่างโค้ดการทำงานซึ่งฉันจะสรุปเป็นคำตอบแยกต่างหาก


จริง ฉันเพิ่งทดสอบกับeclipse-java-luna-SR1a-win32-x86_64. ฉันได้รวมคำตอบของคุณไว้ในด้านบนแล้ว +1
VonC

คุณพูดถึง "eclipse / configuration / config.ini" แต่อย่าพูดถึงว่าสามารถเข้าถึงได้ง่ายจากโค้ด Java ด้วย System.getProperty ("eclipse.buildId") ฉันไม่แน่ใจว่าบริบทของคำถามเดิมคืออะไรเขาต้องการค้นหาในระบบไฟล์หรือรันไทม์ (ภายในปลั๊กอิน) หรือไม่
Neeme Praks

ฉันสงสัยว่ามันเป็นบิตของทั้งสองอย่างโดยส่วนใหญ่ข้อมูลนั้นถูกบันทึกไว้
VonC

1

จากคำตอบของNeeme Praksรหัสด้านล่างควรให้รุ่นของeclipse ที่คุณกำลังใช้งานอยู่

ในกรณีของฉันฉันกำลังทำงานในผลิตภัณฑ์ที่ได้รับคราสดังนั้นคำตอบของ Neeme จึงให้เวอร์ชันของผลิตภัณฑ์นั้นแก่ฉัน OP ถามว่าจะหาเวอร์ชันEclipseได้อย่างไร แต่ฉันเป็นอย่างไร ดังนั้นฉันจึงต้องทำการเปลี่ยนแปลงสองสามอย่างซึ่งนำฉันไปสู่สิ่งนี้:

    /**
     * Attempts to get the version of the eclipse ide we're running in.
     * @return the version, or null if it couldn't be detected.
     */
    static Version getEclipseVersion() {
        String product = "org.eclipse.platform.ide";
        IExtensionRegistry registry = Platform.getExtensionRegistry();
        IExtensionPoint point = registry.getExtensionPoint("org.eclipse.core.runtime.products");
        if (point != null) {
            IExtension[] extensions = point.getExtensions();
            for (IExtension ext : extensions) {
                if (product.equals(ext.getUniqueIdentifier())) {
                    IContributor contributor = ext.getContributor();
                    if (contributor != null) {
                        Bundle bundle = Platform.getBundle(contributor.getName());
                        if (bundle != null) {
                            return bundle.getVersion();
                        }
                    }
                }
            }
        }
        return null;
    }

สิ่งนี้จะคืนความสะดวกสบายให้คุณVersionซึ่งสามารถเปรียบเทียบได้ดังนี้:

    private static final Version DESIRED_MINIMUM_VERSION = new Version("4.9"); //other constructors are available
    boolean haveAtLeastMinimumDesiredVersion()
        Version thisVersion = getEclipseVersion();
        if (thisVersion == null) {
            //we might have a problem
        }
        //returns a positive number if thisVersion is greater than the given parameter (desiredVersion)
        return thisVersion.compareTo(DESIRED_MINIMUM_VERSION) >= 0;
    }

ดูเหมือนจะแม่นยำกว่าคำตอบเก่าของปี 2010 upvoted
VonC

0

สำหรับ Eclipse Kepler ไม่มี Help> About Eclipse แต่ฉันพบว่าสิ่งนี้ใช้ได้:

Eclipse> เกี่ยวกับ Eclipse


คุณหมายถึงอะไร "Eclipse" ฉันไม่เห็นตัวเลือกนี้ในแถว 'File Edit Navigate ... '
Wes

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