blablajar Na koju tu dodatnu java datoteku misliš?
Koliko se sjećam na prvom predavanju je napravio sljedeće:
Stvorio je novi maven projekt sa koordinatama (groupId : artifactId : version) = (hr.fer.zemris.java.p01 : numbers : 1.0). Dakle u korijenskom direktoriju svog projekta imao je datoteku pom.xml i poddirektorij .\src (. being korijenski direktorij tvog projekta). Prije izgradnje (buildanja) mavenovog projekta (odnosno prije nego što je opalio naredbu mvn compile) još nema poddirektorija .\target . Tada je htio stvoriti novu klasu Numbers, koju je, prema propisanoj strukturi mavenovih projekata, stvorio na lokaciji (mislim da je tak išlo, correct me if I’m wrong) .\src\main\java\hr\fer\zemris\java\p01\Numbers.java. Zašto baš tako? Pa propisana struktura mavenovih projekata kaže, izvorne kodove svojih java aplikacija/biblioteka stavljaj u .\src\main\java (KLIK). Sve dalje od toga, dakle ovaj dio hr\fer\zemris\java\p01\Numbers.java ima direktorijsku strukturu koja prati naziv paketa klase Numbers. To znači da onda prva linija koda u Numbers.java mora biti package hr.fer.zemris.java.p01; U toj klasi Numbers je zatim samo stvorio javnu statičku metodu koja određuje je li zadani argument, prirodan broj, prost ili nije (public static void isPrime(int n) {...}).
Nisam siguran je li još stvorio i main metodu, ili možda novu klasu u istom projektu koja ima main metodu. Mislim da čak i jest (to je možda ta druga .java datoteka koju misliš, nisam ziher), al uglavnom poanta prvog predavanja je bila kako napraviti dva projekta i kako uključiti jedan u drugi.
Uglavnom, to je spremio i kompajlirao tako što je u terminalu (pozicioniran unutar korijenskog direktorija svog projekta) kucao mvn compile, što je stvorilo dodatnu strukturu poddirektorija .\target koja ima kompajlirane .class fajlove (bajtkod). Nakon toga je još pokazao kako iz mavenovog projekta stvoriti JAR arhivu sa mvn package, te instalaciju tog projekta u lokalni repozitorij na disku sa mvn install
Onda je napravio drugi projekt koji će koristiti tu biblioteku (klasa Numbers i metoda isPrime) koju smo napisali u prvom projektu. Onda je stvorio novi maven projekt na isti način (opet stvori pom.xml sa nekim drugim koordinatama i src poddirektorijsku strukturu) i u pom.xml je dodao ovisnost o prvom projektu kako bismo mogli koristiti funkcionalnost iz klase Numbers. Kako smo ga prethodno instalirali u lokalni mavenov repozitorij na disku, možemo ga koristiti. U tom novom projektu je onda stvorio klasu Demo koja ima main metodu i koja koristi funkcionalnost iz proslog projekta (metoda isPrime).
Jos je usput pokazivao kako sa javac i java kompajlirati i pokrenuti program (znači bez mvn install) koji ovisi o drugim JAR bibliotekama.
To je pretty much to što se tiče prvog predavanja