2011-11-14 25 views
8

Cách khắc phục tiêu chuẩn để khắc phục các sự cố Java với các bản phân phối Linux như Ubuntu là để nói "Sử dụng Sun JDK thay vì OpenJDK". Vì một vài lý do, tôi chỉ muốn sử dụng gói Java với Ubuntu thay vì phải cài đặt và tải xuống từ kho lưu trữ đối tác hoặc tải xuống tarballs.Có vấn đề gì với Eclipse khi chạy Eclipse với OpenJDK trong Linux không?

Tôi đã phát một số phiên bản với Eclipse 3.7.1 trong Ubuntu 11.10 và không tìm thấy bất kỳ người trình diễn sáng chói nào.

Câu hỏi là: Có mọi thứ không hoạt động chính xác với cài đặt mặc định (EDIT: OpenJDK) Java trên Ubuntu hay không, hoặc có điều gì tôi nên tìm?

+0

Tại sao bạn không thử? Bất kỳ câu trả lời nào bạn sẽ nhận được ở đây có thể đã lỗi thời với phiên bản tiếp theo của Eclipse hoặc OpenJDK hoặc thậm chí các bản vá lỗi của Ubuntu. Không chắc chắn những gì bạn đang mong đợi ở đây. – Mat

+1

@Mat - "Chỉ cần cố gắng" không phải là một cách hay để khám phá các vấn đề tinh tế có thể bắt nguồn từ sự kết hợp giữa phần cứng và phần mềm, ngoại trừ bạn có nhiều thời gian và nhiều cấu hình máy khác nhau. "Sử dụng distro của mặt trời thay vì openjdk" xuất hiện nổi bật khi bắt đầu intellij trên Linux. [Vấn đề] tương ứng (http://youtrack.jetbrains.net/issue/IDEA-70860) cũng như [diễn đàn thảo luận] (http://devnet.jetbrains.net/thread/305004) không cung cấp thêm bất kỳ thông tin.Âm thanh như một huyền thoại đô thị với tôi :) – kostja

+0

@Mat, như đã nêu trong câu hỏi của tôi, tôi đã cố gắng. Một số khác biệt có thể rất khó nắm bắt. –

Trả lời

3

Bây giờ OpenJDK 7 là một thực thi chuẩn của Java. Oracle JDK 7 được xây dựng trên mã openjdk7, ngoại trừ một số tính năng bổ sung, không được bao gồm trong đặc tả Java

Vì vậy, không nên có sự khác biệt hiệu suất (tôi không thể nhìn thấy nó). Ubuntu 11.10 có openjdk7 trong kho lưu trữ.

Nếu không Openjdk6 thực sự chậm hơn thì SunJDK6. Vì vậy, nếu bạn cần sử dụng jdk6, tốt hơn là hãy chuyển sang Sun JDK6

+0

"không nên" là một chút mơ hồ. Bạn có thể xây dựng? –

+0

Bây giờ OpenJDK 7 là một thực thi chuẩn của Java. Oracle JDK 7 được xây dựng trên mã openjdk7, ngoại trừ một số tính năng bổ sung, không được bao gồm trong đặc tả Java. Tôi không thấy bất kỳ sự khác biệt nào về hiệu suất cho các phiên bản này. –

0

Nó không phải là "có bất cứ điều gì không hoạt động chính xác với cài đặt Java mặc định trên Ubuntu". Tôi đã sử dụng OpenJDK rất nhiều trên Ubuntu và Fedora Core và không bao giờ gặp phải lỗi bizzare. Tuy nhiên, đây là một "tuy nhiên" lớn, nếu bạn sử dụng các khung hình ưa thích như Hibernate hoặc một số công cụ của Spring (như công cụ AspectJ), những thứ kỳ lạ, không chuẩn (như sửa đổi bytecode, biên dịch lại khi đang bay v.v.), bạn sẽ gặp rắc rối với OpenJDK nhưng tất cả chúng sẽ hoạt động tốt với Oracle/Sun JDK. Tôi luôn chuyển từ OpenJDK sang Oracle JDK khi thực hiện loại phát triển này.

+0

Lần cuối bạn gặp rắc rối với OpenJDK là khi nào? –

+0

Khi xây dựng dự án JPA2 & Hibernate 3.6 & CDI & EJB 3.1 Glassfish của tôi dưới Fedora 10 với Glassfish 3. Tôi đã dành 30 phút để tìm ra cách sửa lỗi, cuối cùng chuyển sang Oracle JDK 6 update 20+ và nó hoạt động tốt . Ngoài ra trên cửa sổ tôi đã không nhận được lỗi với Oracle JDK. Tôi đã có vấn đề tương tự với JRockIt trên Windows. –

+0

Tôi chỉ đang tìm kiếm một ngày gần đúng. Nhưng vì vậy môi trường của bạn dường như chỉ chạy đúng với Sun JVM ngay từ đầu. Có thể khó tìm - có bản phát hành AIX giờ đây của Glassfish không có phụ thuộc Sun JVM. –

3

Tôi đã gặp khá nhiều sự cố với các plugin khác nhau (Android Update) bằng cách sử dụng openjdk6 trên Ubuntu 11.10. Sun JRE 'vừa sửa' các vấn đề.

Tôi không thể cập nhật lên java 7 vì tôi đang làm việc với nguồn mở Android (AOSP) không hỗ trợ biên dịch với java 7. Nó chỉ hỗ trợ một phần xây dựng với openjdk6.

Đôi khi cạnh chảy máu chỉ chảy máu. Bây giờ tôi ở lại với Sun JDK 6. Nó thực hiện tham chiếu và xuất hiện để 'chỉ làm việc'. Đó là những gì tôi sẽ làm. Đây là những công cụ cho tôi, mục đích chính của tôi ở đây không phải là để gỡ lỗi các công cụ của tôi trước khi sử dụng.

Số lượng người dùng OpenJDK là 99,9% ở đó. Một khi mọi người khác bắt kịp với họ, cuộc sống sẽ rất tuyệt vời.

Ồ và Oracle có thể thay đổi giấy phép để thay đổi giấy phép đã gây ra nhiều sự cố này. Larry không cần thuyền khác.

-JZ

+0

Bạn có thể biên dịch cho Java 6 với Java 7 –

Các vấn đề liên quan