Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Dette oppsettet vil duge for mange formål, men for en del type programmering så trengs flere kildekodemapper, mapper for ressurser og ektra klassebibliotek. F.eks. for å løse JExercise-oppgaver trengs både en tests-kildekodemappe og et ekstra klassebibliotek (jexercise-standalone.jar).

Kildekodemapper

src-mappe brukes til den "vanlige" koden, og det er vanlig å ha ihvertfall en ekstra mappe for testkode kalt tests. Noen ganger samler en såkalte ressurser, dvs. filer som brukes av klassene våre, f.eks. bilder, lyser, konfigurasjonsfiler osv. i en kildekodemappe kalt resources. Alle kildekodemappene blir kompilert som om det var én og resultatet havner i den skjulte bin-mappa.

En ny kildekodemappe opprettes ved å bruke File->New->Source Folder og skrive inn ønsket navn.

Pakker

Når en jobber med større prosjekt eller ønsker å samle mange øvingsoppgaver i samme kodingsprosjekt, så er det greit å fordele koden (Java-klassene) i ulike pakker. Dette er nokså likt hvordan filer fordeles i mapper ellers på maskina. F.eks. kan en ha én pakke for data og én for GUI kalt data og gui eller én pakke pr. øvingsoppgave kalt oving1, oving2 osv (best å unngå særnorske bokstaver). Inni pakkene kan en legge legge java-filer, men også nye pakker, men selv om det som regel holder det med ett nivå. Bildet under viser et prosjekt (tdt4100) med en kildekode-mappe (src) med flere pakker (arv, delegation, encapsulation og exceptions). Merk forøvrig forskjellen på ikonet til kildekodemappa og de for pakkene: kildekodemappe-ikonet er som en vanlig mappe som det stikker et pakke-ikon opp fra.

Image Added

En viktig poeng med pakker er at de også må deklareres inni hver java-fil, over klassedeklarasjonen. Hvis du i kodingsprosjektet har en src-mappe med oving1-pakke i, så må det i java-filene inni oving1-pakke stå package oving1; øverst i fila. I java-filene i encapsulation-pakka over må det tilsvarende være en package-deklarasjon, som følger: package encapsulation; Dersom du kopierer en fil over i oving2-pakka senere, f.eks. fordi du skal eller flytter filer over i andre pakker for å jobbe videre med dendem der, så må du forsikre deg om at det da står package oving2; package-deklarasjonen justeres tilsvarende. Hvis ikke vil du få en feilmarkering på og i fila. Eclipse justerer forøvrig package-deklarasjonen automatisk når du flytter eller kopierer java-filene i Package Explorer-panelet.

Mappe med ekstra klassebibliotek

I mange prosjekter trenger en ekstra klassebiblioteker, f.eks. test-rammeverk, JExercise, XML-håndtering, grafikk, osv, slik at en slipper å skrive all kode selv. Det er vanlig å legge disse i en egen mappa kalt libs, som er en vanlig mappe. Merk at en strengt tatt godt kan legge klassebiblioteksfiler i selve prosjekt-mappa, men dette blir uryddig om en bruker mange ekstra klassebiblioteker.

...