Editor tidak mengandung tipe utama

92

Hanya melalui contoh kode Scala di situs web Scala, tetapi mengalami kesalahan yang mengganggu saat mencoba menjalankannya.

Berikut kodenya: http://www.scala-lang.org/node/45 . Saat menjalankannya di Eclipse, saya mendapat pesan ini 'Editor tidak berisi tipe utama' yang mencegahnya berjalan.

Apakah ada yang perlu saya lakukan ... yaitu memecah file itu menjadi beberapa file, atau apa?

Helen Neely
sumber

Jawaban:

37

Saya sering mengalami masalah ini dengan Eclipse dan Scala. Ini membantu jika Anda membersihkan ruang kerja dan membangun kembali Proyek Anda.

Terkadang Eclipse tidak mengenali dengan benar file mana yang harus dikompilasi ulang :(

Sunting: Kode berjalan dengan baik di Eclipse

nuriaion
sumber
4
Membuat pengalaman yang sama. Ditambah menutup dan membuka proyek tampaknya diperlukan bagi saya kadang-kadang.
Fabian Steeg
Terima kasih @nuriaion dan @Fabian, ya, membuka kembali proyek membuatnya berhasil. Terima kasih sekali lagi atas tip Anda.
Helen Neely
3
@Helen Dalam Eclipse => Proyek => Bersihkan Anda dapat membersihkan proyek, pembangunan kembali akan berjalan secara otomatis ... Jadi Anda tidak perlu menutup dan membuka kembali proyek.
nuriaion
membuka dan menutup proyek skala memberi saya: Kesalahan terjadi selama pembuatan. Kesalahan saat membuat pembuat 'ch.epfl.lamp.sdt.core.scalabuilder'. Pengaya "ch.epfl.lamp.sdt.core" tidak dapat membuat instance kelas "scala.tools.eclipse.Builder". Tidak dapat menginisialisasi kelas scala.tools.eclipse.contribution.weaving.jdt.builderoptions.ScalaJavaBuilder Plug-in "ch.epfl.lamp.sdt.core" tidak dapat membuat instance kelas "scala.tools.eclipse.Builder". Tidak dapat menginisialisasi kelas scala.tools.eclipse.contribution.weaving.jdt.builderoptions.ScalaJavaBuilder
Ustaman Sangat
87

Di Eclipse, pastikan Anda menambahkan folder sumber Anda di properti proyek -> jalur pembuatan java -> sumber. Jika tidak, fungsi main () mungkin tidak disertakan dalam proyek Anda.

milkplus
sumber
Perhatikan bahwa ini juga dapat dilakukan dengan menyeret dan melepaskan file ke "src" di tampilan penjelajah folder.
Max von Hippel
Ini menyelesaikan masalah saya tetapi setelah menutup dan membuka proyek.
Mengatakan
26

Anda harus memastikan bahwa file .java Anda ada di folder .src di eclipse. Saya memiliki masalah yang persis sama sampai saya mengetahuinya.

ultra99
sumber
26

Cara yang lebih sederhana adalah menutup proyek dan membukanya kembali.

statis
sumber
21

Pastikan bahwa folder tempat Anda bekerja ditambahkan ke jalur yang dibangun:

right-clickfolder Anda -> build Path->Use as source Folder

dan sekarang seharusnya ditemukan di maindalamnya.

kholofelo Maloma
sumber
6

Saya memiliki masalah yang sama. Saya mencoba segala macam hal. Dan saya jadi tahu itu

  1. File .java saya tidak ditautkan dan
  2. mereka tidak ditempatkan di folder 'src'.

Hal yang saya lakukan:

Properti proyek >> Jalur Pembuatan Java >> Sumber

  • Menghapus folder 'src' asli yang kosong menggunakan opsi 'Hapus'
  • Menambahkan sumber yang berisi file .java sumber saya menggunakan opsi 'Tambahkan Folder'

Ini memecahkan kesalahan.

Anand Dhole
sumber
5

Anda dapat mencoba menjalankan fungsi utama dari bilah sisi garis gerhana.

larutan

Fei
sumber
Ketika saya melakukan ini, saya mendapat pesan kesalahan: <project root> [in Tut_RMI] does not exit. (Nama proyek adalah Tut_RMI) Apakah nama proyek ini tidak valid?
Casper
5
***

Tutup saja dan buka kembali

Persetan proyek Anda dalam gerhana. Terkadang ada masalah hubungan. Ini memecahkan masalah saya

Mohit Singh
sumber
3

Solusi cepat:

Pertama, kecualikan paket: Klik kanan pada paket sumber >> Jalur Bangun >> Kecualikan

Kemudian masukkan kembali: Klik kanan pada paket sumber >> Jalur Bangun >> Sertakan

rwc
sumber
3

Yang harus Anda lakukan adalah, buat Proyek Java, tetapi pastikan Anda meletakkan file ini di file paket proyek itu, jika tidak, Anda akan mengalami kesalahan yang sama.

masukkan deskripsi gambar di sini

AbsintheSyringe
sumber
2

Kode itu valid. Sudahkah Anda mencoba mengkompilasinya dengan tangan menggunakan scalac? Juga, sudahkah Anda menyebut file Anda "buku alamat", semua huruf kecil, seperti nama objeknya?

Juga, saya menemukan bahwa Eclipse, untuk beberapa alasan, mengatur kelas utama menjadi ".addressbook" bukan "addressbook".

Daniel C. Sobral
sumber
Thanks Daniel, ya file tersebut bernama 'addressbook' semua huruf kecil. Akan mencoba membuka kembali proyek untuk melihat apakah itu membantu.
Helen Neely
2

Anda harus membuat file Anda dengan

memilih di sisi kanan Anda akan menemukan nama file Anda,

di bawah itu akan menemukan folder src mereka Anda klik kanan pilih -> opsi kelas

mereka file Anda harus dibuat

vijaya
sumber
2

Pastikan bahwa file .java Anda ada di paket str, atau di beberapa paket lain. Jika file java dengan fungsi utama berada di luar semua paket, kesalahan ini terjadi.

Sahil Pruthi
sumber
2

Telah menghadapi masalah serupa, selesaikan ini dengan mengklik kanan pada metode utama dalam tampilan garis besar dan jalankan sebagai aplikasi Java.

Naresh
sumber
1

Saya baru saja mengalami masalah ini juga. Solusinya adalah memastikan eclipse membuat proyek tersebut sebagai proyek Java. Cukup buat proyek Java baru dan salin kelas Anda ke folder src (dan impor dependensi akhirnya). Ini seharusnya memperbaiki masalah.

KullDox
sumber
Terima kasih KullDox, atas komentar Anda. Saya sudah lama memecahkan masalah tetapi berharap orang lain menemukan solusi di sini bermanfaat.
Helen Neely
1

Jawaban yang benar adalah: perpustakaan Scala perlu sebelum perpustakaan JRE di buildpath.

Pergi ke Java Buildpath> Order and Export dan pindahkan perpustakaan Scala ke atas

MGM
sumber
1

Saya mengalami masalah ini dengan proyek Java yang saya impor dari sistem file (di bawah Eclipse Helios). Berikut petunjuknya: kode src tampaknya tidak dikompilasi sama sekali, karena tidak ada direktori "bin" yang muncul.

Saya harus membuat proyek Java dari awal (menggunakan wizard), kemudian membandingkan .projectfile dari proyek yang tidak berfungsi dan berfungsi.

Proyek yang memberikan "Editor tidak berisi tipe utama" memiliki ini sebagai "buildSpec" dalam file .project:

<buildSpec>
</buildSpec>

Tetapi proyek yang bekerja memiliki ini sebagai "buildSpec":

<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>

Saya menyalin ini, dan proyek yang diimpor berhasil.

Saya tahu jawaban saya untuk Java, tetapi masalah yang sama mungkin terjadi pada proyek Scala Anda.

pengguna2704136
sumber
1

Mungkin file yang Anda buat berada di luar folder src (source). Mencoba memanggil objek kelas (dari file yang terletak di folder src) dari file .java di luar folder sumber menghasilkan kesalahan yang sama. Salin file .java ke folder sumber, lalu buat. Kesalahan akan hilang.

Vamsi Tallapudi
sumber
1

Saya memiliki masalah yang sama. Saya memiliki kelas utama dari paket src, di folder lain. Saya memindahkannya dan memperbaiki folder dan menyelesaikannya

jacruz.dll
sumber
1

jalankan "eclipse -clean -refresh" dari baris perintah. Ini memperbaiki masalah saya ketika semua solusi lain gagal.

MikeG
sumber
1

Ini bisa menjadi masalah dengan jalur Build Java. Coba langkah-langkah di bawah ini:

  1. Buka properti proyek
  2. Pergi ke Java Build Path
  3. Buka tab Sumber dan tambahkan folder src proyek

Ini harus menyelesaikan masalah.

AalekhG
sumber
1

Jika ini adalah proyek maven, periksa file java yang dibuat di bawah src / main / java

Jika Anda tidak mendapatkan silahkan ubah path JRE dan buat file java dalam struktur folder di atas

ssomu
sumber
0

Bagi saya, di Eclipse 3.6, masalah ini terjadi ketika metode utama saya tidak bersifat publik. Saya menyebabkan masalah dengan memiliki metode utama seperti ini:

static void main(String[] args) 

Pengalih suara tidak dapat mendeteksi ini sendiri. Saya sangat terkejut Eclipse mengabaikan ini.

djangofan.dll
sumber
0

Dalam kasus terburuk - buat proyek sekali lagi dengan semua impor dari awal. Dalam kasus saya, tidak ada opsi lain yang berfungsi. Jenis kesalahan ini mengisyaratkan bahwa ada kesalahan dalam pengaturan proyek. Saya pernah berhasil menyelesaikannya, tetapi setelah pengembangan lebih lanjut dilakukan, kesalahan kembali. Membuat ulang semuanya dari awal membantu saya memahami dan mengoptimalkan beberapa tautan, dan sekarang saya yakin ini berfungsi dengan benar.

Sergiu
sumber
0

Ikuti langkah-langkah di bawah ini:

  1. Cadangkan semua file .java Anda ke beberapa lokasi lain
  2. hapus seluruh proyek java
  3. Buat proyek java baru dengan klik kanan pada root & klik baru
  4. pulihkan semua file ke lokasi baru !!
Mani Kandan
sumber
0

File >> Impor >> Proyek yang Ada ke Ruang Kerja >> Pilih Arsip Arsip >> Jelajahi dan temukan file >> Selesai. Jika sudah diimpor dengan cara lain, hapus dan coba seperti itu. Saya mengalami masalah yang sama sampai saya mencobanya.

Mike
sumber
0

Satu hal lagi untuk diperiksa: pastikan bahwa file sumber Anda berisi deklarasi paket yang benar sesuai dengan subdirektori di dalamnya. Kesalahan yang disebutkan oleh OP dapat dilihat saat mencoba menjalankan "tipe utama" yang dideklarasikan dalam sebuah file di subdirektori tetapi kehilangan pernyataan paket.

Daniel Ashton
sumber
0

Saya mengalami masalah ini juga setelah saya mengubah folder sumber. Solusi yang berhasil hanyalah mengedit file dan menyimpannya.

Hunsu
sumber
0

Coba 'Perbarui Proyek'. Setelah saya melakukan ini, opsi Jalankan sebagai Aplikasi Java muncul.

George Santhosh
sumber
0

Dalam kasus 'Hello World' saya, penyebab masalah ini adalah fakta, bahwa main()metode saya ada di dalam Scala class.

Saya meletakkan main()metode di bawah Scala objectdan kesalahan menghilang.

Itu karena Scala objectdalam istilah Java adalah entitas dengan hanya anggota statis dan metode di dalamnya.

Itulah mengapa Java public static void main()di Scala harus ditempatkan di bawah object.

(Scala classmungkin tidak mengandung bagian dalam statis)

Vlad. Bachurin
sumber