Editör bir ana tür içermiyor


92

Sadece Scala web sitesindeki örnek Scala kodunu gözden geçiriyorum, ancak çalıştırmaya çalışırken can sıkıcı bir hatayla karşılaştı.

İşte kod: http://www.scala-lang.org/node/45 . Eclipse'de çalıştırırken, çalışmasını engelleyen 'Düzenleyici ana tür içermez' mesajını aldım.

Yapmam gereken herhangi bir şey var mı ... yani bu dosyayı birden çok dosyaya bölmek, ya da ne?

Yanıtlar:


37

Eclipse ve Scala'da bu problemi çok yaşıyorum. Çalışma alanınızı temizlemenize ve Projenizi yeniden oluşturmanıza yardımcı olur.

Bazen Eclipse hangi dosyaları yeniden derlemesi gerektiğini doğru bir şekilde tanımaz :(

Düzenleme: Kod, Eclipse'de sorunsuz çalışır


4
Aynı deneyimi yaşadım. Artı projeyi kapatıp açmak bazen benim için gerekli görünüyordu.
Fabian Steeg

Teşekkürler @nuriaion ve @Fabian, evet, projeyi yeniden açmak işe yaradı. İpuçlarınız için tekrar teşekkürler.
Helen Neely

3
@Helen In Eclipse => Proje => Temizle projeleri temizleyebilirsiniz, yeniden inşa otomatik olarak çalışacaktır ... Yani projeyi kapatıp yeniden açmanız gerekmez.
nuriaion

scala projesini açmak ve kapatmak bana şunu verdi: Derleme sırasında hatalar oluştu. Oluşturucu 'ch.epfl.lamp.sdt.core.scalabuilder' örneği oluşturulurken hata oluştu. "Ch.epfl.lamp.sdt.core" eklentisi, "scala.tools.eclipse.Builder" sınıfını başlatamadı. Sınıf scala.tools.eclipse.contribution.weaving.jdt.builderoptions.ScalaJavaBuilder Eklentisi "ch.epfl.lamp.sdt.core" başlatılamadı "scala.tools.eclipse.Builder" sınıfını başlatamadı. Class scala.tools.eclipse.contribution.weaving.jdt.builderoptions.ScalaJavaBuilder
Ustaman Sangat

88

Eclipse'de, kaynak klasörünüzü proje özellikleri -> java oluşturma yolu -> kaynak bölümüne eklediğinizden emin olun. Aksi takdirde, main () işlevi projenize dahil edilmeyebilir.


Bunun, dosyaları klasör gezgini görünümünde "src" içine sürükleyip bırakarak da gerçekleştirilebileceğini unutmayın.
Max von Hippel

Bu sorunumu çözdü ancak projeyi kapatıp açtıktan sonra.
Sayed

27

Eğer .java dosyaları emin olmak zorunda olan .src klasöründe tutulması. Çözene kadar aynı sorunu yaşadım.


26

Daha basit bir yol, projeyi kapatıp yeniden açmaktır.


21

Çalıştığınız klasörün yerleşik yola eklendiğinden emin olun:

right-clickklasörünüz -> build Path->Use as source Folder

ve şimdi mainorada bulmalıdır .


6

Ben de aynı sorunu yaşadım. Her türlü şeyi denedim. Ve bunu bilmeye geldim

  1. .Java dosyalarım bağlantılı değildi ve
  2. 'src' klasörüne yerleştirilmediler.

Yaptığım şeyler:

Proje özellikleri >> Java Derleme Yolu >> Kaynak

  • 'Kaldır' seçeneğini kullanarak boş olan orijinal 'src' klasörünü sildi
  • 'Klasör Ekle' seçeneğini kullanarak kaynak .java dosyalarımı içeren kaynağı eklendi

Bu hatayı çözdü.


5

Ana işlevi tutulmanın kenar çizgisi kenar çubuğundan çalıştırmayı deneyebilirsiniz.

çözüm


Bunu yaparken, bir hata mesajı var: <project root> [in Tut_RMI] does not exit. (Proje adı Tut_RMI) Bu proje adı geçersiz mi?
Casper

5
***

Sadece kapatın ve yeniden açın

*** projeniz tutulmada. Bazen bağlantı sorunları olur. Bu benim sorunumu çözdü


3

Hızlı bir çözüm:

İlk olarak, paketi hariç tutun: Kaynak paketine sağ tıklayın >> Yol Oluştur >> Hariç Tut

Ardından geri ekleyin: Kaynak paketine sağ tıklayın >> Oluşturma Yolu >> Ekle


3

Yapmanız gereken şey, bir Java Projesi oluşturmaktır, ancak bu dosyayı o projenin paket dosyasına koyduğunuzdan emin olun, aksi takdirde aynı hatayla karşılaşırsınız.

görüntü açıklamasını buraya girin


2

Bu kod geçerlidir. Scalac kullanarak elle derlemeyi denediniz mi? Ayrıca, nesnenin adı gibi, dosyanıza "adres defteri" adını verdiniz mi?

Ayrıca, Eclipse'in nedense ana sınıfı "adres defteri" yerine ".addressbook" olarak ayarladığını buldum.


Teşekkürler Daniel, evet dosyanın adı 'adres defteri' tamamen küçük. Bunun yardımcı olup olmadığını görmek için projeyi yeniden açmayı deneyeceğim.
Helen Neely

2

dosyanızı yaratmalısınız

sağ taraftan seçerek dosya adınızı bulacaksınız,

bunun altında src klasörünü bulacaklar, sağ tıklayın seç -> sınıf seçeneği

onların dosyası oluşturulmalı


2

.Java dosyanızın str paketinde veya başka bir pakette bulunduğundan emin olun. Ana işleve sahip java dosyası tüm paketlerin dışındaysa bu hata atılır.


2

Benzer bir sorunla karşılaştınız, bunu ana hat görünümünde ana yönteme sağ tıklayarak ve Java uygulaması olarak çalıştırarak çözdük.


1

Ben de bu problemi yaşadım. Çözüm, eclipse'in projeyi Java projesi olarak oluşturduğundan emin olmaktır. Yeni bir Java projesi oluşturun ve sınıfınızı src klasörüne kopyalayın (ve nihai bağımlılıkları içe aktarın). Bu, sorunu çözmeli.


Yorumunuz için teşekkürler KullDox. Sorunu uzun süredir çözdüm, ancak umarım başka biri buradaki çözümleri yararlı bulur.
Helen Neely

1

Doğru yanıt şudur: Scala kitaplığının, yapı yolundaki JRE kitaplığından önce gelmesi gerekir.

Git Java Buildpath> Düzen ve İhracat ve üstüne Scala kütüphanesini taşımak


1

Dosya sisteminden (Eclipse Helios altında) aldığım bir Java projesinde bu sorunu yaşadım. İşte bir ipucu: src kodu hiç derlenmemiş gibi görünüyor, çünkü "bin" dizini görünmüyor.

Sıfırdan bir Java projesi oluşturmam (sihirbazı kullanarak) ve ardından .project çalışmayan ve çalışan projelerin dosyalarını .

"Düzenleyici bir ana tür içermiyor" veren proje .project dosyasında "buildSpec" olarak bunu içeriyordu:

<buildSpec>
</buildSpec>

Ancak çalışan proje "buildSpec" olarak buna sahipti:

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

Bunu içine kopyaladım ve içe aktarılan proje çalıştı.

Cevabımın Java için olduğunu biliyorum, ancak aynı sorun Scala projeniz için de geçerli olabilir.


1

Oluşturduğunuz dosya src (kaynak) klasörünün dışında olabilir. Kaynak klasörün dışındaki .java dosyasından sınıf nesnesini (src klasöründe bulunan dosyadan) çağırmaya çalışmak aynı hataya neden olur. .Java dosyasını kaynak klasöre kopyalayın, ardından oluşturun. Hata ortadan kalkacak.


1

Ben de aynı sorunu yaşadım. Ana sınıfı src paketinden başka bir klasörde aldım. Dosyayı doğru klasöre taşıdım ve çözdüm


1

komut satırından "eclipse -clean -refresh" komutunu çalıştırın. Diğer tüm çözümler başarısız olduğunda bu benim için sorunu çözdü.


1

Java Derleme yolundaki sorun bu olabilir. Aşağıdaki adımları deneyin:

  1. Proje özelliklerine git
  2. Java Derleme Yoluna git
  3. Kaynak sekmesine gidin ve projenin src klasörünü ekleyin

Bu sorunu çözmelidir.


1

Maven projesiyse lütfen java dosyasının src / main / java altında oluşturulduğunu kontrol edin

Eğer almıyorsanız, lütfen JRE yolunu değiştirin ve yukarıdaki klasör yapısında java dosyalarını oluşturun


0

Benim için Eclipse 3.6'da bu sorun ana yöntemim herkese açık olmadığında ortaya çıkıyor. Soruna şu ana yöntemle neden oldum:

static void main(String[] args) 

Dubugger bunu kendi başına tespit edemedi. Eclipse'in bunu gözden kaçırdığına çok şaşırdım.


0

En kötü durumda - baştan itibaren tüm ithalatlar ile projeyi bir kez daha oluşturun. Benim durumumda diğer seçeneklerin hiçbiri işe yaramadı. Bu tür bir hata proje ayarlarında bir hata olduğunu ima eder. Bir keresinde çözmeyi başardım, ancak daha fazla gelişme yapıldıktan sonra hata geri geldi. Her şeyi baştan yeniden oluşturmak, bazı bağlantıları anlamama ve optimize etmeme yardımcı oldu ve şimdi doğru çalıştığından eminim.


0

Aşağıdaki adımları izleyin:

  1. Tüm .java dosyalarınızı başka bir konuma yedekleyin
  2. Java projesinin tamamını sil
  3. Köke sağ tıklayıp yeniye tıklayarak yeni java projesi oluşturun
  4. tüm dosyaları yeni konuma geri yükleyin !!

0

Dosya >> İçe Aktar >> Mevcut Projeleri Çalışma Alanına >> Arşiv Dosyasını Seçin >> Dosyaya göz atın ve bulun >> Bitir. Zaten başka bir şekilde içe aktarılmışsa, silin ve bu şekilde deneyin. Bunu deneyene kadar aynı sorunu yaşıyordum.


0

Kontrol edilecek bir şey daha: kaynak dosyanızın, içinde bulunduğu alt dizine karşılık gelen doğru paket bildirimini içerdiğinden emin olun. OP tarafından belirtilen hata, bir alt dizindeki bir dosyada bildirilen bir "ana tür" çalıştırılmaya çalışıldığında görülebilir ancak paket ifadesi eksik.


0

Kaynak klasörü değiştirdikten sonra da bu sorunu yaşıyorum. İşe yarayan çözüm, yalnızca dosyayı düzenlemek ve kaydetmek.


0

'Projeyi Güncelle'yi deneyin. Bunu yaptıktan sonra Java Uygulaması Olarak Çalıştır seçeneği belirdi.


0

Benim özel 'Merhaba Dünya' vakamda, bu sorunun nedeni benim main()yöntemimin Scala'nın içinde olmasıydı class.

main()Yöntemi Scala'nın altına koydum objectve hata ortadan kalktı.

Bunun nedeni object, Java açısından Scala'nın içinde yalnızca statik üyeler ve yöntemler bulunan varlık olmasıdır.

Bu nedenle public static void main()Scala'daki Java'nın altına yerleştirilmelidir object.

(Scala classstatik içeremez)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.