2011-11-06 30 views
10

Tôi đang chạy IntelliJ Idea trong linux. Tôi đã tạo ra một dự án và một mô-đun bên trong nó, và trong mô-đun mà tôi có một lớp (MyClass.class) và khi tôi đang cố gắng để chạy nó từ IDE, tôi nhận đượcIntelliJ Idea dưới Linux, Không có tệp hoặc thư mục nào trên lớp chính

ERROR: MyClass.class (No Such file or directory)

Ai đó có thể giải thích cho tôi tại sao IntelliJ Idea không nhận ra các lớp bên trong module của tôi? Tôi biết nó phải là một vấn đề liên quan đến cài đặt mô-đun nhưng tôi không thể tìm ra nó. Tôi đang sử dụng Ubuntu 11.10

OK tôi đặt ở đây những con đường và tất cả mọi thứ cho tất cả để xem :)

loại: echo $ PATH
Kết quả: /usr/lib/lightdm/lightdm :/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/trò chơi:/usr/lib/jvm/java-7-openjdk-i386/bin:/usr/lib/jvm/java-7-openjdk-i386/bin:/usr/lib/jvm/java-7-openjdk-i386/bin

loại: echo $ JAVA_HOME Kết quả:
/usr/lib/jvm/java-7-openjdk-i386

loại: ./idea.sh Kết quả: LƯU Ý: Nếu bạn có cả Sun JDK và OpenJDK cài đặt hãy xác thực hoặc IDEA_JDK hoặc JDK_HOME môi trường điểm biến để cài đặt Sun JDK hợp lệ

+1

Tôi cũng có cùng một vấn đề. Phiên bản cộng đồng ý tưởng Intelij trên ubuntu 11.10. Biên dịch ok với javac, nhưng đưa ra một lỗi trong IDE (Không có tập tin như vậy) –

+0

Hãy thử để loại bỏ tất cả JSDK và thêm chúng một lần nữa trong ý tưởng intelij, cả jdk6 và jdk7 :) –

Trả lời

7

Arkde, tôi có thể giải thích tại sao giải pháp của Jaroslav với JDK7 không hiệu quả với bạn.

phiên bản Java Có lẽ bạn đã trộn lẫn trong nhiều lựa chọn thay thế mục, có thể xung đột với phiên bản mà các biến môi trường như JAVA_HOMEJDK_HOME điểm đến?

Có thể điều gì đó trỏ đến liên kết tượng trưng /usr/lib/jvm/default-java làm nhà JDK và liên kết tượng trưng trỏ đến phiên bản JDK khác với dự định?

Bạn đã thử đặt lại các lựa chọn thay thế cho tất cả các công cụ Java thành phiên bản 7 chưa? Như thế này:

update-java-alternatives --list 
# ...see what JDK's are available, choose the one that corresponds to Java 7 
# and set it to be the default in alternatives: 
sudo update-java-alternatives --set java-1.7.0-openjdk-amd64 
# or interactively: 
sudo update-alternatives --config java 

Các lệnh sau xuất ra trên hệ thống của bạn như thế nào?

echo $JAVA_HOME 
echo $JDK_HOME 
ls -l /usr/lib/jvm/default-java 
update-java-alternatives --list 
update-alternatives --list java 

Tôi đã gặp vấn đề tương tự. Tôi đã thực hiện strace trên quá trình Idea và trong nhật ký, tôi thấy nó đang cố mở một vài tệp .class mà không có đường dẫn đến chúng được chỉ định - như open("SomeClass.class", O_RDONLY) = -1 ENOENT (No such file or directory) - không có đường dẫn đến thư mục đầu ra của dự án và gói thích hợp.

Vì vậy, tôi đã apt-get cài đặt JDK 7 cùng JDK 6:

apt-get install openjdk-7-doc openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless openjdk-7-jre-lib openjdk-7-source 

Trong Ubuntu 11.10 Oneiric, OpenJDK 6 là không thể tháo rời nếu bạn muốn OpenJDK 7. JDK 7 phụ thuộc vào JDK 6. ..

vì vậy, tôi đã:

  1. cấu hình lựa chọn thay thế được cập nhật như đã nêu ở trên,
  2. thay đổi /usr/lib/jvm/default-java liên kết tượng trưng chỉ để java-7-openjdk-amd64,
  3. đôi kiểm tra tất cả các biến môi trường (tôi JAVA_HOMEJDK_HOME cả điểm đến /usr/lib/jvm/default-java),
  4. cấu hình lại SDK của dự án của tôi một cách thích hợp (và cho tất cả các module trong dự án),

và voila - giải quyết vấn đề!

+0

Cảm ơn nó đã làm việc :) – Arkde

0

Kiểm tra xem Hãy hộp kiểm được kích hoạt, nếu không IDEA sẽ không biên dịch dự án của bạn, cũng xác nhận rằng tập tin lớp có sẵn trong thư mục đầu ra và bạn đang chạy với classpath của module chính xác.

Nếu sự cố vẫn còn, hãy gửi dự án mẫu để hỗ trợ.

+0

Tôi xin lỗi nhưng nó không hoạt động. Tôi đã cho phép, các lớp học trong thư mục đầu ra, và mô-đun là chính xác ... vẫn cùng một vấn đề – Arkde

5

Giải quyết. Xóa tất cả jdk/jre bạn có, cài đặt openjdk7.

Thêm dòng này để .bashrc

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386/ 
export PATH=$PATH:$JAVA_HOME/bin 

Run Idea. Lợi nhuận. :)

+0

Vâng tôi không biết làm thế nào bạn đã làm nó nhưng nó không hoạt động. Dường như IDEA không hoạt động với openJDK7. – Arkde

+0

Bạn vẫn nhận được cùng lỗi Không có lỗi như vậy? –

+0

InteliJ không nên bắt đầu bằng java-7-openjdk và nếu Cài đặt jdk mặc định, sự cố vẫn tồn tại – Arkde

0

Tôi đã gặp vấn đề tương tự - tôi đã chuyển dự án của mình (và cài đặt Ý tưởng) từ máy tính xách tay có Ubuntu 10.04 và sun-jdk-6 sang PC với Ubunty 11.10 và openjdk-6. Khi xây dựng lại dự án, tôi nhận được MyClass.class (No Such file or directory) lỗi cho TẤT CẢ các lớp học.

Nhờ Jaroslav, giải pháp (gần như) của ông đã giúp - tôi không thể giải thích tại sao, có lẽ nó cũng hoạt động với sun-jdk-6 ... Vì vậy, tôi đã cài đặt openjdk-7, mà không xóa openjdk-6 và đặt thứ 7 là JDK của dự án trong Ý tưởng. (Tôi đã không thay đổi bất cứ điều gì trong các biến môi trường.) Với jdk7 nó biên dịch.

PS Tôi nên viết nó như một bình luận cho bài đăng của Jaroslav, không phải là câu trả lời riêng biệt, nhưng tôi chưa có đủ danh tiếng để làm điều này ...

0

Cố gắng chạy IDEA sử dụng

sh -c "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 && ./idea.sh"

Khi nó bắt đầu bấm Ctrl+Alt+Shift+S để mở Cài đặt Project thoại. Trong bảng điều khiển bên trái, hãy chọn Dự án và xác minh rằng SDK dự án được định cấu hình chính xác (ít nhất nó không phải là màu đỏ).

2

Tôi gặp phải sự cố tương tự. Những gì tôi thấy là phiên bản Java toàn hệ thống cơ bản không quan trọng, vì vậy không cần thiết lập JAVA_HOME hoặc update_alternatives.Tất cả tôi phải làm là thay đổi một số cài đặt trong IDEA:

  • Thêm một SDK Java, hoặc OpenJDK 7, hoặc Oracle JDK 6 hoặc 7 (File -> Project structure -> SDKs)
  • Chọn thẻ này làm dự án SDK (File -> Project structure -> Project)
+0

Bạn đã làm ngày của tôi :) – hrules6872

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