ฉันได้โพสต์วิธีการค้นหาไว้ใน Eclipse Gallileo แต่ถ้าใครมีข้อมูลเกี่ยวกับเวอร์ชันเก่าโปรดโพสต์ไว้ด้านล่าง
ฉันได้โพสต์วิธีการค้นหาไว้ใน Eclipse Gallileo แต่ถ้าใครมีข้อมูลเกี่ยวกับเวอร์ชันเก่าโปรดโพสต์ไว้ด้านล่าง
คำตอบ:
(อัปเดตกันยายน 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 มีโลโก้ใหม่ล่าสุด:
และคุณสามารถเห็นรหัสบิลด์ที่แสดงอยู่ในระหว่างขั้นตอนการโหลดของปลั๊กอินอื่น
ใน Eclipse Gallileo:
หน้าเกี่ยวกับ (วิธีใช้ -> เกี่ยวกับ Eclipse) มีไอคอนบางส่วนที่ด้านล่างของบทสนทนา ซึ่งควรมีสองอันซึ่งเป็นไอคอน Eclipse ธรรมดา เลือกรายการที่มีคำแนะนำเครื่องมือ "Eclipse.org" Eclipse มีส่วนประกอบหลายอย่างซึ่งแต่ละส่วนมีหมายเลขเวอร์ชันของตัวเอง แกนหลักคือแพลตฟอร์ม Eclipse
ผมคิดว่าวิธีที่ง่ายที่สุดคือการอ่านREADMEeclipse/readme/eclipse_readme
ไฟล์ภายในไดเรกทอรีคราสของคุณได้ตลอดเส้นทาง
ที่ด้านบนสุดของไฟล์นี้จะบอกหมายเลขเวอร์ชันอย่างชัดเจน:
สำหรับ My Eclipse Juno; มันบอกว่าเป็นเวอร์ชันRelease 4.2.0
หากคุณต้องการเข้าถึงสิ่งนี้โดยใช้โปรแกรมคุณสามารถทำได้โดยการหาเวอร์ชันของ 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();
นี่คือข้อมูลโค้ดที่ใช้งานได้ซึ่งจะพิมพ์เวอร์ชันเต็มของ 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
ที่ถูกต้อง
สำหรับ Eclipse Java EE IDE - Indigo: Help> About Eclipse> Eclipse.org (ลำดับที่สามจากสุดท้าย) ใน 'About Eclipse Platform' ให้ค้นหา Eclipse Platform และคุณจะมีเวอร์ชันอยู่ใต้คอลัมน์เวอร์ชัน หวังว่านี่จะช่วยผู้ใช้ J2EE Indigo
มีคุณสมบัติระบบ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
จากคำตอบของ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;
}
สำหรับ Eclipse Kepler ไม่มี Help> About Eclipse แต่ฉันพบว่าสิ่งนี้ใช้ได้:
Eclipse> เกี่ยวกับ Eclipse