Po prostu przeglądałem przykładowy kod Scala w witrynie Scala, ale napotkałem irytujący błąd podczas próby uruchomienia.
Oto kod: http://www.scala-lang.org/node/45 . Po uruchomieniu go w Eclipse otrzymałem komunikat „Edytor nie zawiera typu głównego”, który uniemożliwia jego uruchomienie.
Czy jest coś, co muszę zrobić ... tj. Rozbić ten plik na wiele plików, czy co?
W Eclipse upewnij się, że dodajesz folder źródłowy we właściwościach projektu -> ścieżka budowania java -> źródło. W przeciwnym razie funkcja main () może nie zostać uwzględniona w projekcie.
źródło
Musisz upewnić się, że twoje pliki .java znajdują się w folderze .src w eclipse. Miałem dokładnie ten sam problem, dopóki go nie odkryłem.
źródło
Prostszym sposobem jest zamknięcie projektu i ponowne jego otwarcie.
źródło
Po prostu upewnij się, że folder, w którym pracujesz, został dodany do ścieżki wbudowanej:
right-click
twój folder ->build Path
->Use as source Folder
i teraz powinien się
main
tam znaleźć .źródło
Miałem ten sam problem. Próbowałem różnych rzeczy. I dowiedziałem się o tym
Rzeczy, które zrobiłem:
Właściwości projektu >> Ścieżka budowania Java >> Źródło
To rozwiązało błąd.
źródło
Możesz spróbować uruchomić główną funkcję z bocznego paska zaćmienia.
źródło
<project root> [in Tut_RMI] does not exit
. (Nazwa projektu toTut_RMI
) Czy ta nazwa projektu jest nieprawidłowa?*** twój projekt w zaćmieniu. Czasami pojawiają się problemy z łączeniem. To rozwiązało mój problem
źródło
Szybkie rozwiązanie:
Najpierw wyklucz pakiet: kliknij prawym przyciskiem myszy pakiet źródłowy >> Buduj ścieżkę >> Wyklucz
Następnie dołącz go z powrotem: Kliknij prawym przyciskiem myszy pakiet źródłowy >> Ścieżka budowania >> Uwzględnij
źródło
Powinieneś zrobić, stworzyć projekt Java, ale upewnij się, że umieściłeś ten plik w pliku pakietu tego projektu, w przeciwnym razie napotkasz ten sam błąd.
źródło
Ten kod jest ważny. Czy próbowałeś skompilować go ręcznie za pomocą scalaka? Czy nazwałeś swój plik „książką adresową”, używając małych liter, jak nazwa obiektu?
Odkryłem również, że Eclipse z jakiegoś powodu ustawił główną klasę na „.addressbook” zamiast „addressbook”.
źródło
powinieneś stworzyć swój plik przez
wybierając po prawej stronie znajdziesz nazwę swojego pliku,
pod tym znajdziesz folder src, po kliknięciu prawym przyciskiem myszy wybierz -> opcja klasy
ich plik powinien zostać utworzony
źródło
Upewnij się, że plik .java jest obecny w pakiecie str lub w innym pakiecie. Jeśli plik java z główną funkcją znajduje się poza wszystkimi pakietami, zgłaszany jest ten błąd.
źródło
W obliczu podobnego problemu rozwiązałem go, klikając prawym przyciskiem myszy główną metodę w widoku konspektu i uruchamiając jako aplikację Java.
źródło
Ja też miałem ten problem. Rozwiązaniem jest upewnienie się, że eclipse utworzyło projekt jako projekt Java. Po prostu utwórz nowy projekt Java i skopiuj swoją klasę do folderu src (i zaimportuj ewentualne zależności). To powinno rozwiązać problem.
źródło
Prawidłowa odpowiedź brzmi: biblioteka Scala musi poprzedzać bibliotekę JRE w ścieżce budowania.
Idź do Java Buildpath> Order and Export i przenieś bibliotekę Scala na górę
źródło
Miałem ten problem z projektem Java, który zaimportowałem z systemu plików (pod Eclipse Helios). Oto wskazówka: kod src nie wydawał się w ogóle skompilowany, ponieważ nie pojawił się żaden katalog „bin”.
Musiałem stworzyć projekt Java od podstaw (za pomocą kreatora), a następnie porównać
.project
pliki niedziałających i działających projektów.Projekt podający „Editor nie zawiera głównego typu” miał to jako „buildSpec” w pliku .project:
Ale działający projekt miał to jako „buildSpec”:
Skopiowałem to i zaimportowany projekt zadziałał.
Wiem, że moja odpowiedź dotyczy Javy, ale ten sam problem może dotyczyć Twojego projektu Scala.
źródło
Być może utworzony plik znajduje się poza folderem src (źródłowym). Próba wywołania obiektu klasy (z pliku znajdującego się w folderze src) z pliku .java poza folderem źródłowym kończy się tym samym błędem. Skopiuj plik .java do folderu źródłowego, a następnie skompiluj go. Błąd zniknie.
źródło
Miałem ten sam problem. Miałem główną klasę z pakietu src w innym folderze. Przenoszę go i poprawiam folder i rozwiązałem
źródło
uruchom "eclipse -clean -refresh" z linii poleceń. To rozwiązało problem, gdy wszystkie inne rozwiązania zawiodły.
źródło
Może to być problem ze ścieżką kompilacji Java. Spróbuj wykonać poniższe kroki:
To powinno rozwiązać problem.
źródło
Jeśli jest to projekt maven, sprawdź, czy plik java został utworzony w katalogu src / main / java
Jeśli nie otrzymujesz, zmień ścieżkę JRE i utwórz pliki java w powyższej strukturze folderów
źródło
U mnie w Eclipse 3.6 ten problem występuje, gdy moja główna metoda nie jest publiczna. Spowodowałem problem, mając główną metodę, taką jak ta:
static void main(String[] args)
Dubugger nie był w stanie sam tego wykryć. Jestem dość zaskoczony, że Eclipse to przeoczyło.
źródło
W najgorszym przypadku - utwórz projekt jeszcze raz ze wszystkimi importami od początku. W moim przypadku żadna z pozostałych opcji nie zadziałała. Ten typ błędu wskazuje, że wystąpił błąd w ustawieniach projektu. Kiedyś udało mi się go rozwiązać, ale po zakończeniu dalszych prac błąd wrócił. Odtworzenie wszystkiego od początku pomogło mi zrozumieć i zoptymalizować niektóre linki, a teraz jestem pewien, że działa poprawnie.
źródło
Wykonaj poniższe kroki:
źródło
Plik >> Importuj >> Istniejące projekty do obszaru roboczego >> Wybierz archiwum zarchiwizowane >> Przeglądaj i zlokalizuj plik >> Zakończ. Jeśli jest już zaimportowany w inny sposób, usuń go i wypróbuj w ten sposób. Miałem ten sam problem, dopóki tego nie spróbowałem.
źródło
Jeszcze jedna rzecz do sprawdzenia: upewnij się, że plik źródłowy zawiera poprawną deklarację pakietu odpowiadającą podkatalogowi, w którym się znajduje. Błąd wspomniany przez OP można zobaczyć podczas próby uruchomienia „głównego typu” zadeklarowanego w pliku w podkatalogu, ale brak instrukcji pakietu.
źródło
Mam ten problem po zmianie folderu źródłowego. Rozwiązaniem, które działało, jest po prostu edycja pliku i zapisanie go.
źródło
Spróbuj „Aktualizuj projekt”. Kiedy to zrobiłem, pojawiła się opcja Uruchom jako aplikację Java.
źródło
W moim konkretnym przypadku „Hello World” przyczyną tego problemu był fakt, że moja
main()
metoda znajdowała się wewnątrz Scaliclass
.Podłożyłem
main()
metodę pod Scalaobject
i błąd zniknął.Dzieje się tak, ponieważ Scala
object
w kategoriach Java jest jednostką zawierającą tylko statyczne elementy członkowskie i metody.Dlatego Java
public static void main()
w Scali musi być umieszczona podobject
.(Scala
class
nie może zawierać ładunków elektrostatycznych)źródło