Blog (97)
Komentarze (2.2k)
Recenzje (1)

Java + Linux = <3 — tworzymy środowisko programistyczne na Debianie

Strona główna@GBMJava + Linux = <3 — tworzymy środowisko programistyczne na Debianie
18.09.2015 02:03

Od prawie roku, z zawodu jestem młodszym programistą Java. Swoje pierwsze kroki w programowaniu opisywałem w wpisie "Jak pomimo przeciwności losu zostałem programistą – historia o tym, że..." oraz kolejnym, opisującym strategię samonauki programowania.

Przechodząc przez podstawowe etapy nauki programowania, postanowiłem skrupulatnie spisywać notatki z przeróżnych zadań, czynności czy zachowań. Tak bardzo powszechnych dla doświadczonych programistów, a jednocześnie będących wyzwaniem dla początkujących. Stąd postanowiłem owe notatki publikować na łamach bloga - z myślą o kolejnym "pokoleniu" początkujących programistów :-)

Poniżej po kolei, zainstalujemy i skonfigurujemy następujące narzędzia:

bEhZoTDr
  1. Oracle JDK 7
  2. Apache Maven 3
  3. Apache Tomcat 7
  4. Eclipse Luna

Wszystkie opisane niżej czynności, zostały wykonane na systemie Debian Jessie.

Instalacja JDK 7

JDK, a dokładniej Java Development Kit - to środowisko niezbędne do programowania w Javie, niezależnie od platformy systemowej. Posiada ono podstawowe komponenty umożliwiające kompilacje, debugowanie, archiwizowanie i stos innych, podręcznych dla programisty funkcjonalności.

bEhZoTDx

Najnowszą wersję JDK możemy ściągnąć bezpośrednio ze strony Oracle, akceptując przed pobraniem warunki licencyjne.

Jak widać JDK można pobrać na dowolną platformę systemową
Jak widać JDK można pobrać na dowolną platformę systemową

W naszym przypadku pobieramy wersję Linux x64 w postaci archiwum tar.gz. Zapisujemy ją do katalogu Pobrane. Następnie tworzymy podkatalog "jvm" w /usr/lib i tam rozpakowujemy pobrane przez nas archiwum. Czyli kolejno wykonujemy komendy:


$ sudo mkdir /usr/lib/jvm
$ sudo tar -xvf jdk-7u79-linux-x64.tar.gz -C /usr/lib/jvm/
bEhZoTDy

Następnie przechodzimy do katalogu /usr/lib/jvm i tworzymy dowiązanie symboliczne do katalogu "jdk1.7.0_79", które zostało wypakowane ze ściągniętego archiwum.


$ cd /usr/lib/jvm
$ sudo ln -s jdk1.7.0_79/ java

W efekcie, po komendzie ls - powinniśmy zobaczyć następujący efekt:

Dowiązanie symboliczne, pozwoli nam łatwiej konfigurować ścieżki środowiskowe
Dowiązanie symboliczne, pozwoli nam łatwiej konfigurować ścieżki środowiskowe

Konfigurujemy zmienne środowiskowe dla Javy

Kolejnym krokiem, będzie stworzenie prostego skryptu .sh w katalogu /etc/profile.d. Wszystkie zamieszczone tam skrypty są automatycznie wykonywane w momencie uruchamiania powłoki systemowej Bash. Stąd dobrym pomysłem, jest zamieszczenie tam zmiennych środowiskowych dla Javy.

bEhZoTDz

$ sudo apt-get remove openjdk-*
Ważna uwaga! W tym artykule opisuję instalację Javy w wersji Oracle. Natomiast Debian posiada domyślnie zainstalowaną wersję OpenJDK. Dlatego też przed wykonaniem kolejnych kroków polecałbym usunąć wersję domyślną. Można to wykonać za pośrednictwem poniższej komendy:

W tym celu z użyciem najprostszego edytora nano, tworzymy skrypt jdk.sh w wyżej wymienonym katalogu.


$ sudo nano /etc/profile.d/jdk.sh
bEhZoTDA

Następnie tworzymy odpowiednie zmienne przed którymi umieszczamy komendę export.


export J2SDKDIR=/usr/lib/jvm/java
export J2REDIR=/usr/lib/jvm/java/jre
export PATH=$PATH:/usr/lib/jvm/java/bin:/usr/lib/jvm/java/db/bin:/usr/lib/jvm/java/jre/bin
export JAVA_HOME=/usr/lib/jvm/java
export DERBY_HOME=/usr/lib/jvm/java/db

Przykład:

565810

Po zapisaniu naszego skryptu po każdorazowym uruchomieniu systemu, ustawione przez nas zmienne środowiskowe będą działać. Aby zobaczyć efekt skryptu bez konieczności ponownego uruchamiania, wykorzystajmy polecenie source.


$ source /etc/profile.d/jdk.sh

W następstwie tego, powinniśmy zobaczyć następujące wyniki dla poniższych komend:


$ javac -version
javac 1.7.0_79

Oraz


$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

Super! W takim razie pierwszy krok za nami - mamy już zainstalowaną Javę w systemie :-) Czas na...

Instalacja Apache Maven 3

Apache Maven jest świetnym narzędziem, usprawniającym pracę programisty przy tworzeniu projektów z użyciem Javy. Nie tylko pomaga w budowaniu (ang. build) naszych projektów, ale także kompilacji, zarządzaniu zależnościami do innych bibliotek oraz innych, przydatnych w codziennej pracy dewelopera czynnościach.

Archiwum z Apache Maven możemy pobrać stąd, lub wykorzystać polecenie wget. A następnie wypakować je do katalogu /usr/lib/


$ wget http://ftp.ps.pl/pub/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz
$ sudo tar -xvf apache-maven-3.3.3-bin.tar.gz -C /usr/lib/

Dzięki temu, Maven będzie dostępny w lokalizacji /usr/lib/apache-maven-3.3.3. Jednak aby uprościć konfigurację zmiennych środowiskowych, podobnie jak w przypadku JDK - stwórzmy kolejne dowiązanie symboliczne.


$ cd /usr/lib/
$ sudo ln -s apache-maven-3.3.3/ maven

Oraz otwórzmy nasz wcześniej utworzony skrypt jdk.sh i dopiszmy do niego następujące linijki:


$ sudo nano /etc/profile.d/jdk.sh

I dopisujemy:

export M2_HOME=/usr/lib/maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH 

Skrypt powinien wyglądać następująco:

Kolejne narzędzie, kolejne zmienne... :-)
Kolejne narzędzie, kolejne zmienne... :-)

Po zapisaniu, użyjmy polecenia source ażeby wykonać nasz skrypt.


$ source /etc/profile.d/jdk.sh

I wykonajmy polecenie mvn - v oczekując wyniku podobnego do tego, zamieszczonego poniżej:


$ mvn -v
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T13:57:37+02:00)
Maven home: /usr/lib/maven
Java version: 1.7.0_79, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk1.7.0_79/jre
Default locale: pl_PL, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-4-amd64", arch: "amd64", family: "unix"

Apache Tomcat 7

Kolejnym i przedostatnim krokiem, będzie instalacja Apache Tomcat. Jest to tzw. kontener aplikacji sieciowych, budowanych z użyciem Servletów i Java Servlet Pages (JSP).

Wersję siódmą możemy pobrać stąd lub użyć polecenia wget.


$ wget http://ftp.ps.pl/pub/apache/tomcat/tomcat-7/v7.0.64/bin/apache-tomcat-7.0.64.tar.gz

Następnie wykonujemy operacje analogiczne do powyższych.

Wypakowujemy archiwum do katalogu /usr/lib


$ sudo tar -xvf apache-tomcat-7.0.64.tar.gz -C /usr/lib/

Następnie tworzymy dowiązanie symboliczne:


$ cd /usr/lib
$ sudo ln -s apache-tomcat-7.0.64/ tomcat

I dopisujemy następujące linijki do skryptu /etc/profile.d/jdk.sh


$ sudo nano /etc/profile.d/jdk.sh

Dopisujemy:

export CATALINA_HOME=/usr/lib/tomcat

I efekt:

565844

Eclipse Luna - IDE z prawdziwego zdarzenia

Czas na pobranie i instalację naszego środowiska programistycznego w którym będziemy tworzyć, kompilować, debugować i sam Root wie co jeszcze robić z oprogramowaniem pisanym w Javie :-)

Mój wybór padł na bardzo popularne, wieloplatformowe oraz o wielkiej sile IDE w postaci Eclipse'a. Najnowsza wersja o nazwie kodowej "Mars", jest dostępna od czerwca bieżącego roku. Natomiast w tym wpisie będę bazował na poprzedniej wersji czyli "Luna".

Osobiście korzystam z Eclipse'a w codziennej pracy i zauważyłem, że Mars potrafi się zachować mniej stabilnie na Linuxie w porównaniu do Luny. Stąd dla komfortu Czytelników, którzy zapewne chcą rozpocząć swoją przygodę z Javą - opiszę podstawowy proces instalacji i uruchomienia oraz bazowej konfiguracji Eclipse'a w tej właśnie wersji.

Eclipse Luna, możemy pobrać z tej strony. Wybierzmy wersję " Eclipse IDE for Java EE Developers" ze względu na bardziej rozbudowane środowisko Eclipse'a.

565850

Następnie w naszym katalogu domowym, stwórzmy podkatalogi "eclipse" gdzie wypakujemy ściągnięte archiwum z Eclipse'm, oraz podkatalog "projects" gdzie będziemy tworzyć nasze projekty z poziomu Eclipse'a.


$ mkdir ~/eclipse
$ mkdir ~/projects

Następnie uruchamiamy plik "eclipse". Zobaczymy okno z logiem Eclipse ładujące podstawowe komponenty, a następnie okno dialogowe proszące o podanie lokalizacji katalogu dla projektów. Oczywiście podajemy ścieżkę do utworzonego przez nas katalogu "projects".

565854

Naszym oczom pojawi się gotowe środowisko. Stwórzmy więc prosty projekt, gdzie wyświetlimy w pętli słynne zdanie "Hello World!". :-)

W tym celu z paska Menu, wybierzmy pozycję "File", następnie "Project...". W kolejnym oknie klikamy na "Java Project".

128204
128205

W kolejnym oknie w polu "Project name" nadajemy nazwę dla naszego projektu...

565861

...by następnie stworzyć nową klasę, klikając prawym przyciskiem myszy na widok naszego projektu w zasobniku "Package Explorer". Dalej przechodzimy na pozycję "New" i klikamy na "Class".

565863

Wypełniamy pole "package" nadając nazwę dla ścieżki naszej paczki oraz nadajemy nazwę klasie. Warto od razu zaznaczyć opcję "public static void main(String[] args)".

565865

Następnie tworzymy następujący (listing poniżej) kod i klikamy na zieloną ikonkę z trójkątem, w celu uruchomienia naszego programu.


package test;

public class HelloWorld 
{
	public static void main(String[] args) 
	{
		for(int i = 0; i < 10; i++)
		{
			System.out.println("Hello World!");
		}
	}
}
565868
Przy okazji, polecam zgłębić mój wpis dotyczący renderowania czcionek na Linuxie. Z doświadczenia wiem, że odpowiednia czcionka i jej jakość wyświetlania, znacznie potrafi zwiększyć komfort pracy.

Efekt działania zobaczymy w zakładce "Console".

Oto Twoje środowisko do programowania w Javie

Super, właśnie stworzyłeś pierwszy program w Javie i skonfigurowałeś swoje środowisko programistyczne na Linuxie. Kolejne kroki należą już do Ciebie, teraz już czas tylko kodzić, kodzić i jeszcze raz kodzić :-)

W kolejnych wpisach, w miarę czasu chciałbym opisać inne, podstawowe zagadnienia w tworzeniu oprogramowania w Javie. Choćby przykład prostej webaplikacji w oparciu o Servlety, JSP'y oraz Tomcat'a, a wszystko przy udziale Maven'a. Mam nadzieję, że uda się zrealizować to w jak najszybszym czasie... ;-)

Tymczasem połamania klawiszy życzę...

bEhZoTEn