Eclipse IDE - pierwszy projekt

eclipse_photon

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 -> Java Project. W ten sposób otworzymy okno tworzenia nowego projektu Java.

eclipse_nowy_projekt_1

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.

project_eclipse_moduleinfo

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+).

newJavaClass

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 Java

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

HelloWorld

Dyskusja i komentarze

Masz pytania do tego wpisu? Może chcesz się podzielić spostrzeżeniami? Zapraszamy dyskusji na naszej grupie na Facebooku.

Poniżej znajdziesz archiwalne wpisy z czasów, gdy strona była jeszcze hobbystycznym blogiem.

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