Baza Wiedzy

Eclipse IDE - pierwszy projekt

Stwórzmy pierwszy projekt z wykorzystaniem środowiska eclipse. Na początek będzie to najpopularniejszy przykład "Hello World", czyli "Witaj Świecie", który zazwyczaj zapisuje każda osoba rozpoczynająca swoją przygodę z programowaniem.

Eclipse dostarcza nam wiele gotowych szablonów, pozwala automatycznie formatować kod, pozwola wygenerować dokumentację na podstawie komentarzy i ułatwią pracę z wieloma projektami.

Przejdźmy do rzeczy. Uruchom środowisko eclipse i poczekaj aż się załaduje, gdy to nastąpi, przejdź kolejno do File -> New -> JavaProject. W ten sposób otworzymy okno tworzenia nowego projektu Java.

Widzimy tu charakterystyczne pola:

  • Project name - czyli nazwa naszego projektu, będzie on reprezentowany jako folder w naszym katalogu workspace (można zmienić ścieżkę odznaczając opcję Use default location)
  • JRE (Java Runtime Environment) - wybór środowiska / wersji Javy, w której chcemy stworzyć projekt. Domyślnie powinna to być najnowsza stabilna wersja Javy, jednak przykładowo pisząc aplikację w MHP (media home platform) należałoby wybrać tu niższą wersję, aby zabezpieczyć się przed wykorzystaniem nieistniejących tam bibliotek (jak np. Collections Framework).
  • Project Layout - pozwala określić schemat naszego projektu. Domyślnie (i zalecam tak to pozostawić) pliki z kodem źródłowym (rozszerzeniem .java) będą przechowywane w folderze /src, natomiast pliki skompilowane (z rozszerzeniem .class) w folderze /bin.
  • Working sets nie powinno nas zbytnio obchodzić.
  • Jeśli wciśniemy przycisk Next, to zobaczymy kilka dodatkowych zakładek z opcjami, takimi jak wybór folderu z plikami źródłowymi, dodanie dodatkowych bibliotek do projektu. Wszystko może pozostać bez zmian.
  • Nazwijmy nasz nowy projekt Hello i nie zmieniając pozostałych opcji wciśnijmy Finish.

Jeśli korzystasz z Javy 10 lub nowszej to odznacz opcję Create module-info.java na drugim ekranie konfiguracji. Moduły zostały wprowadzone w Javie 9, jednak w prostych aplikacjach wprowadzałyby dla nas tylko niepotrzebne komplikacje.

W zakładce Package Explorer powinien się teraz ukazać folder naszego projektu. Można go rozwinąć i zobaczyć, że faktycznie jest tam folder /src.

Czas utworzyć pierwszą klasę. Kliknij prawym na utworzonym przed chwilą projekcie i wybierz opcję New -> Class (możesz to także zrobić z paska menu znaczek C+).

Do wyboru mamy tutaj kolejno:

    • Source folder (folder z plikami kodów źródłowych), nie powinniśmy go zmieniać.
    • Package - jest to pole wskazujące, czy nasza klasa ma zostać umieszczona w jakimś pakiecie. Są to foldery przechowujące klasy o podobnym przeznaczeniu, pomagają w łatwiejszej organizacji plików. Odradzane jest używanie domyślnego pakietu, aczkolwiek, przy małych programach nie ma to znaczenia. Konwencja nazewnictwa mówi o tym, żeby pakiety nazywać wg schematu: odwrócona_nazwa_domeny_autora.nazwa_pakietu. Wpiszmy tam nazwę jak na zrzucie ekranu, w wyniku na dysku powstanie folder pl/javastart/first w katalogu src.
    • W pole Name wpisujemy nazwę naszej klasy (wg konwencji nazewnictwa z wielkiej litery), jak wiemy, będzie to jednocześnie nazwa naszego pliku .java
    • W sekcji Modifiers określamy modyfikator dostępu (ponieważ nie jest to klasa wewnętrzna, możemy nadać jej jedynie specyfikator publiczny, lub domyślny - czyli jego brak), oraz atrybuty abstract, lub final
    • Superclass to "klasa nadrzędna", czyli taka, z której dziedziczymy. Domyślnie jest to klasa Object, na razie tak to zostawmy.
    • Interfaces - pozwala wybrać interfejsy, które chcemy implementować, może pozostać puste.
    • Eclipse pozwala automatycznie wygenerować częściowy szkielet klasy, w tym celu należy zaznaczyć interesujące nas opcje. Domyślnie będzie to Inherited abstract methods - generuje puste metody na podstawie interfejsów, u nas nie spowoduje żadnego działania. Zaznaczmy jednak dodatkowo opcję public static void main(String[] args). Jak nietrudno się domyślić spowoduje to utworzenie metody main, od której rozpoczyna się wykonywanie każdego programu w Javie.
    • Wciśnijmy Finish. Naszym oczom powinien ukazać się kod klasy.

    Wiele z wyżej wymienionych elementów może Ci niewiele mówić - nie przejmuj się tym na tym etapie.

    Kurs Programowania Java

    W pustej metodzie main() dopiszmy linijkę, odpowiadającą za wyświetlenie tekstu "Hello World" i uruchommy naszą aplikację przyciskiem strzałka z górnego menu. Jeśli nie zapisaliśmy pliku, eclipse powinien nas o to zapytać, oczywiście w takim wypadku klikami OK. Działanie powinno być takie jak na poniższym screenie, powinna się pokazać konsola i wyświetlić nasz tekst.

    Najlepszy newsletter o Javie w Polsce

    Czy chcesz otrzymywać nowości ze świata Javy oraz przykładowe pytania rekrutacyjne? Zapisz się na newsletter i bądź na bieżąco! Otrzymasz także ekskluzywne materiały oraz informacje o nowych kursach i promocjach.

    Traktujemy Twoją prywatność poważnie. Nikomu nie udostępniamy Twojego maila no i zawsze możesz się wypisać.

    Komentarze do artykułu

    Wyłączyliśmy możliwość dodawania komentarzy. Poniżej znajdziesz archiwalne wpisy z czasów gdy strona była jeszcze hobbystycznym blogiem. Zapraszamy natomiast do zadawnia pytań i dyskusji na naszej grupe na facebooku.

    Marcin

    szkoda że nie można przechodzić miedzy stronami kursu za pomocą czego w stylu przycisku "przejdz do następnego zagadnienia"

    Slawek

    da się zrobić :) W weekend, albo w przyszłym tygodniu po środzie to dorobię.

    Piotrek

    U mnie to troszkę inaczej wygląda bo jest tak package pl.javastart.first; public class HelloWorld { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub } } nie ma System.out.println("HelloWorld") i nie wiem dlaczego

    olum

    Nie przeczytałeś dokładnie. Tą linijkę musisz sam napisać.

    Aquilifer

    @Piotrek równie dobrze możesz napisać ten program w taki sposób: class HelloWorld { public static void main (String args []) {System.out.println ("Hello World"); }}

    Koza

    Piotrek raczej pytał o to, czemu w świeżo wygenerowanym szablonie nie znajduje się System.out.println(„HelloWorld”); Ta linijka nie zawiera się w szablonie, autor tutoriala dopisał ją własnoręcznie :)

    Marta

    Witam Mam problem już na etapie tworzenia projektu Hello. Wyskakuje mi błąd: Description Resource Path Location Type Unbound classpath container: 'JRE System Library [JavaSE-1.6]' in project 'Hello' Hello Build path Build Path Problem I nie wiem jak go zinterpretować oraz naprawić. Z góry dziękuję za pomoc i pozdrawiam

    Marta

    Edit. Weszłam w Eclipse w ustawienia bibliotek, poklikałam jakieś "edit path" i za dziesiątym razem zadziałało :) Niestety nie jestem w stanie tego odtworzyć, więc byłabym mimo wszystko wdzięczna za wyjaśnienia co się działo i jak na przyszłość ustawić dostęp do bibliotek poprawnie.

    Witek

    Witam Ja to zrobiłem u siebie tak: . - nie robię pakietów(package) bo na tym etapie to mija się z celem( owszem można to przećwiczyć). Po uruchomieniu Eclipse z File wybieram Java Project, a w polu Project name wpisuje np.: Lekcja_7 , gdzie trzymam pliki, które związane są z tą lekcją. Ps. Nie miałem jeszcze takiego przypadku z ustawieniem bibliotek w Eclipsie. Po rozpakowaniu i podaniu nazwy workspace, to było wszystko co robiłem jeśli chodzi o Eclipse Działa to bez żadnych prblemów.

    Bartek

    Mam tablice dwuwymiarową stringów i chcę porównać wartości ze stringiem pobranym od użytkownika za pomocą Scanner. Jeśli oba stringi są takie same to program ma wyświetlić odpowiedni string ale z drugiego wiersza. Niestety nie dostaje nic. A po dodaniu pętli która wyświetli otrzymuje: [Ljava.lang.String;@1b67f74 [Ljava.lang.String;@69b332 Co to jest? O co chodzi?

    Slawek

    Bez kodu ciężko będzie pomóc, ale na 90% wyświetlasz tablicę, a nie jej element. Mniej więcej: String[] tablica = {"Kaziu", "Boniek"}; System.out.print(tablica); a powinno być System.out.print(tablica[0]);

    Maestro

    Jak otworzyć okienko Console w tym programie ?

    Witek

    Witam Aby otworzyć konsole to możesz skorzystać z kombinacji: Alt + Shift + Q + C lub Window -> Show Viev -> Console

    Bartosz

    Nie wiem dlaczego nie mam Consoli

    Witek

    Witam Pewnie jest wyłączona, konsole włącza się tak jak podałem w poprzednim poście oczywiście w Eclips'e. Pozdrawiam

    Akir

    Po zainstalowaniu Eclipse działa to co napiszę w nim, ale nie działa zwykła Java , to znaczy sypie błędami. Też tak macie?

    Problem

    Kolejny problem D;.Mój wspaniały kod: package pl.javastart.first; public class Witus { public static void main(String[] args) { System.out.print ("Hello World"); System.out.println ("Costam jeszcze"); } } "Costam jeszcze" jest w tej samej linii co Hello World...

    Witek

    Witam Możesz napisać tak System.out.print(" Hello World \n"); gdzie \n to nowa linia lub System.out.println(" Hello World "); Pozdrawiam

    luke

    Wszystko zrobilem jak wyzej ale zamiast napisu hello world wyswietla sie :" could not find or load main class" ktos wie o co kaman ? na google niestety za duzo sie nie dowiedzialem..

    Sławek Ludwiczak

    Podejrzewam, że zrobiłeś literówkę w nazwie metody main. Jeśli jednak wygenerowałeś to z automatu to spróbuj kliknąć prawym na nazwie projektu (po lewej stronie w package explorerze), wybierz opcję Run as - > Java Application. Problem polega na tym, że eclipse, nie może odnaleźć klasy z metodą main - co jest dziwne jeśli zrobiłeś wszystko jak w przykładzie.

    Tomek

    Ej, słuchajcie, mam problem... Robię class, to ok, ale potem jak wpisuję System.out.println ("Hello World") to mi te ) podkreśla na czerwono i nie chce potem działać... Pomóżcie!

    Andy

    w jaki inny sposób można wyświetlić na ekranie, nie używając tego System.out.print(ln)()??

    Dzikus

    Co autor miał na myśli pisząc że konwencja nazewnictwa mówi, żeby pakiety nazywać wg schematu: "odwrócona_nazwa_domeny.nazwa_pakietu" ? Jakiej domeny?

    Rosol

    Szukam osoby ktora pomoze mi ogarnac eclipse i jave jestem w stanie zaplacic ! prosze o kontakt mailowy

    Marcin Kunert

    Przykładowa domena: marcin.javastart.pl Nazwa pakietu: gra Daje: pl.javastart.marcin.gra

    Sebastian

    mam pytanie niezwiązane z waszymi Gdy tworzymy np. program w eclipse to jakimi kodami dodać by aplikacja była hmm... wirtualnym albumem w których były by zdjęcia i na dole strzałki do zmienieniania ich? Chodzi mi o dodanie zdjęcia do JFrame

    Win

    Witam! Wszystko działa jak należy, tylko nie mam w tym programie tej zakładki "Console" Jak ją uruchomić?

    Marcin

    Witam mam małe pytanie czy można nauczyć się z internetu tworzenia modyfikacji do gier (pluginy do minecrafta)

    mwarw

    Osobiście też zacząłem ten kurs ze względu na minecrafta (dokładnie bukkita) i powiem,że najpierw lepiej jest się wyuczyć ogólnie javy, a potem robienia pluginów.

    mwarw

    Mi przy rozpakokywaniu ukazuje się coś takiego: http://imgur.com/lTptQos a potem z programem są różne cyrki (raz mi się włączyć nie chciał, a raz nie chciał stworzyć nowego pliku. :( )

    Robert

    Takie pytanko: Dlaczego Eclipse robi mi po skompilowaniu 2 pliki .class, ale tylko te w których jest metoda main. Na przykład, z klasy Test mam: Test1.class i Test$1.class Pozdrawiam

    Sławek Ludwiczak

    Drugi .class jest tworzony, ponieważ utworzyłeś wewnątrz dodatkową klasę wewnętrzną, która najwidoczniej nazywa się 1.

    kylu38

    Mi niestety wyskoczyło coś takiego; -javaagent:[=] load Java programming language agent, see java.lang.instrument -splash: show splash screen with specified image See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details. co mam z tym zrobić

    kylu38

    Już jest ok. Zainstalowałem w innej lokalizacji, wypakowałem i postępowałem zgodnie z instrukcjami:)

    Patryk

    blik jest błąd

    Lkop

    ale głupie gdy wpisuje pl.javastart.first to niemoge nacisnąć finish

    Ania

    wie ktoś jak się zabrać do iloczynu skalarnego wektorów zespolonych, gdzie należy potraktować wektory zespolone jako tablice o wymiarach nx2. Działania: c[i][1]=a[i][1]*b[i][1]- a[i][2]*b[i][2] c[i][2]=a[i][1]*b[i][2]+a[i][2]*b[i][1] Zespolony iloczyn skalarny to tablica dwuelementowa: s[1]=s[1]+c[i][1] s[2]=s[2]+c[i][2] ?? Jestem początkująca, a muszę coś takiego zrobić w eclipse :(

    Gosia

    Wydaje mi sie, że wszystko zrobiłam jak należy, wg instrukcji. Jednak kiedy chce uruchomić program wyskakuje mi taki oto komunikat: A Java "Exception has occurred." Czy ktoś mi może pomóc i wyjaśnić co zrobiłam źle?

    kris

    jak zmienic: use an execution enviroment JAVA SE 1.6 żeby było na 1.7?? Bo niektóre rzeczy nie działają na 6 a co bym w eclipsie nie podpiął to i tak nie widzi wersji nowszej

    lolo

    Nie wiem jak to jest w Eclipse ale zobacz czy niema jakiś globalnych ustawień JDK (jak w IntelliJ) i tam zmień ścieżkę do Javy 7. Ewentualnie spróbuj zmienić Class patch na wskazujące na jave 7

    lolo

    Nie wiem jak to jest w Eclipse ale zobacz czy niema jakiś globalnych ustawień JDK (jak w IntelliJ) i tam zmień ścieżkę do Javy 7. Ewentualnie spróbuj zmienić Class patch na wskazujące na jave 7

    Kurs Java WrocławJavaStart na Youtube