Tidak dapat memilih kelas sebagai kelas utama di IntelliJ

98

Saya memiliki proyek Java di IntelliJ yang baru saja saya tambahkan banyak file dalam hierarki folder bersarang. Banyak dari file ini adalah tes dan menyertakan metode utama, jadi saya harus bisa menjalankannya. Namun saya tidak tahu bagaimana melakukan ini.

Saya baru mengenal IntelliJ dan file sebelumnya telah muncul dalam hierarki proyek dengan simbol yang sesuai dengan "kelas Java yang berisi deklarasi metode main ()." tetapi dalam skenario ini mereka muncul dengan simbol yang sesuai dengan "kelas Java yang terletak di luar root sumber."

Jadi bagaimana cara saya mengkompilasi dan menjalankan file-file ini?

CE
sumber
2
Bagi siapa pun yang datang ke sini dengan masalah yang sama tetapi tidak ada masalah "akar sumber" - indikator runnability dan "kelas utama" hilang ketika saya tidak sengaja mengimpor com.sun.org.apache.xpath.internal.operations.String- masih tidak tahu mengapa hal itu terjadi! (IDEA 2018.1, JDK 8, Maven)
Janaka Bandara

Jawaban:

64

Dokumentasi yang Anda tautkan sebenarnya memiliki jawabannya di tautan yang terkait dengan "kelas Java yang terletak di luar root sumber." Konfigurasikan sumber Anda dan uji root dan itu harus berfungsi.

https://www.jetbrains.com/idea/webhelp/configuring-content-roots.html

Karena Anda menyatakan bahwa ini adalah tes, Anda mungkin harus pergi dengan mereka yang ditandai sebagai Root Sumber Uji daripada Root Sumber.

trappski
sumber
1
Pastikan Anda mengatur dependensi modul Anda dengan benar. Tandai modul dalam struktur proyek dan 'F4' adalah kunci default untuk membuka pengaturan modul (setidaknya di Linux). (Atau klik kanan dan pilih 'Open Module Settings'). Semoga ini dapat membantu sedikit lebih jauh: jetbrains.com/idea/webhelp/…
trappski
Ah, ya, ketergantungan menyelesaikan masalah saya pada akhirnya. ty.
CE
137

Pilih folder yang berisi pohon paket dari kelas-kelas ini, klik kanan dan pilih "Mark Directory as -> Source Root"

JB Nizet
sumber
Ini melakukan apa yang saya minta, namun sekarang tidak dapat menyelesaikan pernyataan impor. Kesalahan lain juga muncul. Ide ide?
CE
Misalnya, ia meminta saya untuk menambahkan metode dengan "odeToJava.modules." dan kemudian mengeluh karena tidak bisa menyelesaikan odeToJava.
CE
Bagaimana Anda mendapatkan menu yang memungkinkan Anda melakukan ini? Anda melihat direktori dan file proyek dalam tampilan Proyek (alt + 1) lalu klik kanan pada folder mengikuti instruksi OP.
James T.
Saya telah melakukan ini, tetapi ini hanya memungkinkan saya untuk memilih file kelas dan bukan pelari utama JAVA.
Oliver Dixon
1

Berikut prosedur lengkap untuk IDEA IntelliJ 2019.3:

  1. File> Struktur Proyek

  2. Di bawah Pengaturan Proyek> Modul

  3. Di bawah tab 'Sumber', klik kanan pada folder 'src' dan pilih 'Sumber'.

  4. Menerapkan perubahan.

Ashwin
sumber