Tôi đã đăng cách tìm nó trong Eclipse Gallileo, nhưng nếu ai có thông tin về các phiên bản cũ hơn, vui lòng đăng nó bên dưới.
Tôi đã đăng cách tìm nó trong Eclipse Gallileo, nhưng nếu ai có thông tin về các phiên bản cũ hơn, vui lòng đăng nó bên dưới.
Câu trả lời:
(Cập nhật tháng 9 năm 2012):
MRT chỉ ra trong các nhận xét rằng câu hỏi " Phiên bản Eclipse " tham chiếu đến a .eclipseproduct
trong thư mục chính và nó chứa:
name=Eclipse Platform
id=org.eclipse.platform
version=3.x.0
Vì vậy, điều đó có vẻ đơn giản hơn câu trả lời ban đầu của tôi dưới đây.
Ngoài ra, Neeme Praks đề cập bên dưới rằng có eclipse/configuration/config.ini
một dòng bao gồm một dòng như:
eclipse.buildId=4.4.1.M20140925-0400
Một lần nữa dễ tìm hơn, vì đó là những thuộc tính Java được thiết lập và tìm thấy với System.getProperty("eclipse.buildId")
.
Câu trả lời gốc (tháng 4 năm 2009)
Đối với Eclipse Helios 3.6, bạn có thể suy ra phiên bản Nền tảng Eclipse trực tiếp từ màn hình Giới thiệu:
Nó là sự kết hợp của phiên bản toàn cầu Eclipse và Id bản dựng:
Đây là một ví dụ cho Eclipse 3.6M6:
Phiên bản sẽ là: 3.6.0.v201003121448 , sau phiên bản 3.6.0 và bản dựng Id I20100312-1448 (một bản dựng Tích hợp từ ngày 12 tháng 3 năm 2010 lúc 14h48
Để xem dễ dàng hơn, hãy nhấp vào "Chi tiết Plugin" và sắp xếp theo Phiên bản.
Lưu ý: Eclipse3.6 có một biểu tượng hoàn toàn mới:
Và bạn có thể thấy Id bản dựng hiện đang được hiển thị trong bước tải của plugin khác nhau.
Trong Eclipse Gallileo:
Trang giới thiệu (Trợ giúp -> Giới thiệu về Eclipse) có một số biểu tượng ở cuối hộp thoại. Điều này sẽ bao gồm hai biểu tượng Eclipse đơn giản. Chọn cái có chú giải công cụ "Eclipse.org". Eclipse có nhiều thành phần, mỗi thành phần có số phiên bản riêng. Cốt lõi là Nền tảng Eclipse
Tôi nghĩ, cách dễ nhất là đọc tệp readme bên trong thư mục Eclipse của bạn tại đường dẫn eclipse/readme/eclipse_readme
.
Ở đầu tệp này, nó cho biết rõ ràng số phiên bản:
Đối với Juno Eclipse của tôi; nó nói phiên bản nhưRelease 4.2.0
nếu bạn muốn truy cập theo chương trình này, bạn có thể thực hiện bằng cách tìm ra phiên bản của 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();
Đây là đoạn mã đang hoạt động sẽ in ra phiên bản đầy đủ của Eclipse hiện đang chạy (hoặc bất kỳ ứng dụng dựa trên RCP nào).
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());
}
}
}
}
}
Nó tìm kiếm tiện ích mở rộng "sản phẩm" hiện đang chạy và lấy phiên bản của plugin đóng góp.
Trên Eclipse Luna 4.4.0, nó cho kết quả 4.4.0.20140612-0500
chính xác.
Đối với Eclipse Java EE IDE - Màu chàm: Trợ giúp> Giới thiệu về Eclipse> Eclipse.org (thứ ba từ cuối cùng). Trong 'Giới thiệu về Nền tảng Eclipse', định vị Nền tảng Eclipse và bạn sẽ có phiên bản bên dưới Cột Phiên bản. Hy vọng điều này sẽ giúp ích cho người dùng J2EE Indigo.
Có một thuộc tính hệ thống eclipse.buildId (ví dụ: đối với Eclipse Luna, tôi có 4.4.1.M20140925-0400 làm giá trị ở đó).
Tôi không chắc phiên bản Eclipse nào đã có thuộc tính này.
Ngoài ra, hãy đi sâu vào và khám phá tất cả các thuộc tính hệ thống có sẵn - có khá nhiều thông tin có sẵn trong không gian tên eclipse. *, Os. * Osgi. * Và org.osgi. *.
CẬP NHẬT!
Sau khi thử nghiệm với các phiên bản Eclipse khác nhau, có vẻ như thuộc tính eclipse.buildId
hệ thống không phải là cách tốt nhất. Ví dụ, trên Eclipse Luna 4.4.0, nó cho kết quả 4.4.2.M20150204-1700
rõ ràng là không chính xác.
Tôi nghi ngờ thuộc tính eclipse.buildId
hệ thống được đặt thành phiên bản của org.eclipse.platform
plugin. Thật không may, điều này không (luôn luôn) cho kết quả chính xác. Tuy nhiên, tin tốt là tôi có một giải pháp với mẫu mã làm việc mà tôi sẽ phác thảo trong một câu trả lời riêng.
eclipse-java-luna-SR1a-win32-x86_64
. Tôi đã bao gồm câu trả lời của bạn trong của tôi ở trên. +1
Dựa trên câu trả lời của Neeme Praks , đoạn mã dưới đây sẽ cung cấp cho bạn phiên bản eclipse Ide mà bạn đang chạy.
Trong trường hợp của tôi, tôi đang chạy một sản phẩm có nguồn gốc từ nhật thực, vì vậy câu trả lời của Neeme chỉ cung cấp cho tôi phiên bản của sản phẩm đó. OP hỏi làm thế nào để tìm phiên bản Eclipse , nhưng tôi đang theo đuổi cái gì. Do đó, tôi cần thực hiện một vài thay đổi, dẫn đến điều này:
/**
* 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;
}
Điều này sẽ trả lại cho bạn một sự thuận tiện Version
, có thể được so sánh như vậy:
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;
}
Đối với Eclipse Kepler, không có Trợ giúp> Giới thiệu về Eclipse nhưng tôi thấy điều này hoạt động:
Eclipse> Giới thiệu về Eclipse