Tìm số phiên bản Eclipse


115

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.


3
Hy vọng rằng điều này sẽ xuất hiện trên Google nếu tôi quên điều này một lần nữa.
Casebash

66
Tôi thấy hơi nực cười khi họ làm cho việc trả lời câu hỏi đơn giản là "tôi có phiên bản Eclipse nào?".
Lyle

3
Và điều này bây giờ xuất hiện trong Google = P
Casebash

2
Đúng vậy, chính việc thiếu nỗ lực để làm mọi thứ trở nên dễ dàng cho người dùng đã khiến quá nhiều dịch vụ / ứng dụng @Lyle thất vọng. Einstein (không rằng ông là bất cứ điều gì hay mà lời nói của ông là đúng trong trường hợp này) về cơ bản nói rằng mọi thứ nên được thực hiện như đơn giản một thể, nhưng hôm nay có vẻ như nhiều người không có xem xét bất cứ điều gì cho một câu châm ngôn như vậy
George Tomlinson

Bấm vào đây để kiểm tra liên kết đó. Bạn sẽ nhận được câu trả lời tốt hơn
Sabapathy 17/12/13

Câu trả lời:


104

(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 .eclipseproducttrong 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.inimộ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:

văn bản thay thế

Đâ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ăn bản thay thế

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.


3
stackoverflow.com/questions/2313660/eclipse-version Bạn cũng có thể thử. Thực sự điều này rất dễ sử dụng!
MRT

@MRT điểm tốt. Tôi đã đưa nó vào câu trả lời để dễ nhìn hơn.
VonC

1
Khi tôi vừa thử điều này, .eclipseproduct chứa 3.6.1 nhưng readme / readme_eclipse.html chứa 3.6.2. Hóa ra 3.6.2 là phiên bản chính xác nên chỉ cần cảnh giác.
Dave Griffiths

Nó cũng có thể hữu ích để biết nếu bạn đang chạy phiên bản 32 hoặc 64 bit xây dựng, kiểm tra câu trả lời này cho làm thế nào để xác định rằng: stackoverflow.com/a/9578565/191761
Adam Burley

18

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


15

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


2

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();

2

Đâ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-0500chính xác.


1

Đố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.


1

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.buildIdhệ 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-1700rõ ràng là không chính xác.

Tôi nghi ngờ thuộc tính eclipse.buildIdhệ thống được đặt thành phiên bản của org.eclipse.platformplugin. 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.


Thật. Tôi chỉ thử nghiệm nó với 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
VonC

Bạn đề cập đến "eclipse / configuration / config.ini" nhưng không đề cập rằng nó có thể dễ dàng truy cập từ mã Java với System.getProperty ("eclipse.buildId"). Tôi không chắc bối cảnh của câu hỏi ban đầu là gì, anh ấy muốn tìm nó trong hệ thống tệp hay trong thời gian chạy (bên trong một plugin)?
Neeme Praks

Tôi nghi ngờ đó là một chút của cả hai, chủ yếu là nơi thông tin đó được ghi lại.
VonC

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ều đó có vẻ chính xác hơn câu trả lời cũ năm 2010 của tôi. Bình chọn
VonC

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


Ý bạn là gì bởi "Eclipse". Tôi không thấy tùy chọn này trong hàng 'Điều hướng Chỉnh sửa Tệp ...'.
Wes

Tôi đang sử dụng máy Mac nên có một tùy chọn menu được gọi là Eclipse nằm ở bên trái của tùy chọn menu có tên là Tệp.
Michael Osofsky
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.