Eclipse en handledning



Relevanta dokument
Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

2 Eclipse en handledning

Eclipse en handledning

NetBeans 5.5. Avsikt. Projektfönster

NetBeans 7. Avsikt. Projektfönster

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Laboration 10 - Eclipse

Objektorienterad programmering i Java I

Verktyg och Utvecklingsmiljö. Jochim von Hacht

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Kompilering av Java-program med eclipse SDK för den som kan BlueJ

Laboration 10 - NetBeans

Editering, Kompilering och Exekvering av Javaprogram

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Eclipse. Kort genomgång

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Föreläsning 1 & 2 INTRODUKTION

Att använda Java SE JDK 6

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 2 Verktyg m.m.

Föreläsning 1 & 2 INTRODUKTION

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

Att använda Java SE JDK 6

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Föreläsning 1. Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program

Datorlaboration 0, Programmering i C++ (EDA623)

Så här skriver du ditt första program i C++

Kompilera och exekvera Javakod

Lab 1: Första labben (2p) Inledning:

TDP005, Projekt: objektorienterade system

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 1. Objektorienterad programmering, Z1. Syfte

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09

Datorlaboration 0, Programmering i C++ (EDAF30)

Versionshantering. Jan Erik Moström

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Programmering för språkteknologer I, VT2012. Rum

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Objektorienterad Programmering (TDDC77)

Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap HT 2015

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Programmering i C++ Kompilering från kommandoraden

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Code-Lite tutorial ( /RoJ)

TDP005, Projekt: Objektorienterade System. Laboration: Eclipse

Gissa ordet, tutorial

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Kort-kort om utdelade användarkonton och datormiljön på NADA

Innehållsförteckning. 9 Större projekt Övningsuppgifter...32

Föreläsning 3. Programmering, C och programmeringsmiljö

Microsoft Visual Studio 2017

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Laboration 1. En första bekantskap med C++ Namn: Godkänd den: Rest:

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

Malmö högskola 2007/2008 Teknik och samhälle

Föreläsning 1-2 innehåll

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

TDP005, Projekt: Objekt-orienterade System. Laboration: Eclipse

Instruktioner för att kunna programmera på skolans datorer

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Refaktorisering och UML med Eclipse

Inlämningsuppgift 1 Programmeringsteknik MN1 vt02

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

Ett enkelt Androidspel, tutorial

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

SMD 134 Objektorienterad programmering

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Institutionen för datavetenskap 2014/15

Simulering med ModelSim En kort introduktion

Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll

Installationsanvisning för kursens programvara på egen dator

Introduktion till Matlab

Frekvenstabell över tärningskast med C#

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

Länkade listor och automatisk testning

LÄR DIG ANVÄNDA DIN MAC. från grunden! Nu med Mac OS X Leopard! Harry Peronius

Anteckningar 1: Grundläggande saker

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet.

OOP Objekt-orienterad programmering

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Starta Egenrapportering automatiskt i Windows

Handbok för skrivbordsväljaren. Dirk Doerflinger Antonio Larrosa Jiménez Pino Toscano Matthias Elter Matthias Ettrich Översättare: Stefan Asserhäll

Transkript:

LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap VT 2015 Eclipse en handledning 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: www.eclipse.org help.eclipse.org www.eclipse.org/downloads/ Eclipse hemsida. Enorma mängder information. Hjälpsidor för Eclipse, senaste versionen. Dessa hjälpsidor finns också lokalt i Eclipse-systemet, under Help Contents i Help-menyn. Nedladdning av Eclipse för olika datorer. Det finns också många handledningar som är betydligt utförligare än denna, till exempel på www.vogella.com/articles/eclipse/article.html. 2 Att utveckla Javaprogram Ett Javaprogram består av en eller flera klasser som lagras i filer med tillägget.java. Dessa filer innehåller vanlig text (bokstäver, siffror och andra tecken). Innan man kan exekvera (köra) programmet måste filerna kompileras (översättas) till ett annat format (bytekod) som datorn förstår. Bytekoden lagras i filer med tillägget.class. Översättningen görs av en kompilator som heter javac, och programmet körs av en Javatolk som heter java. Allt detta kan man hantera manuellt. Då editerar man.java-filerna med Emacs eller en annan texteditor, kompilerar dem med javac och kör programmet med java. Det kan se ut så här: % emacs HelloWorld.java & % javac HelloWorld.java % ls HelloWorld.class HelloWorld.java % java HelloWorld Hello, world! % Starta en editor, skriv följande programtext: public class HelloWorld { public static void main(string[] args) { System.out.println("Hello, world!"); Kompilera programmet Lista innehållet i katalogen Två filer: kompilerad kod och källkod Kör programmet Det är inget fel med att utveckla program på detta sätt, men det har en del nackdelar: stora program består av många klasser och det kan vara svårt att hålla reda på dem, man måste komma ihåg att kompilera varje fil som man ändrar, när kompilatorn hittar fel i ett program

2 Eclipse måste man i editorn hitta motsvarande rad i filen för att kunna rätta till felet, om man vill följa exekveringen av ett program måste man ha en separat debugger (felsökningsprogram). Ett alternativt sätt att arbeta är att använda en integrerad utvecklingsmiljö (Integrated Development Environment, IDE). Det är ett program med ett grafiskt användargränssnitt där editor, kompilator och debugger är integrerade. Man startar IDE-programmet och hanterar sedan alla moment i programutvecklingen inifrån denna miljö. Programutvecklingen består fortfarande av editering, kompilering och programkörning, men det blir enklare att utföra dessa moment de utförs av IDE-programmet genom att man klickar på knappar eller väljer ur menyer. Det finns många olika IDE-program, mer eller mindre avancerade (Eclipse, IDEA, JBuilder, Netbeans, JCreator,... ). I programmeringskurserna utnyttjas Eclipse. 3 Eclipse 3.1 Översikt Eclipse är ett avancerat IDE-program som erbjuder all funktionalitet som behövs för utveckling av Javaprogram. Det finns också ett stort antal plugins som utökar Eclipse med nya möjligheter (utveckling av webbprogram, databasprogram, diagramritning, andra programspråk än Java, osv). Programmet är gratis. Eftersom Eclipse har så många möjligheter är det inte helt enkelt att lära sig att använda fullt ut. Man måste sätta sig in i en hel del terminologi och lära sig hitta bland alla menyer och kommandon. Men grunderna är inte alltför komplicerade, och de beskrivs här. Några termer måste man känna till: Projekt Arbetsområde Perspektiv (project) Ett antal.java- och.class-filer som hör ihop, till exempel alla filer som behövs för en laboration eller en inlämningsupgift. Motsvaras av en katalog i filsystemet. (workspace) Det område där man sparar de projekt som man skapar. Motsvaras av en katalog i filsystemet (projekten är underkataloger till denna katalog). (perspective) Utseendet hos Eclipsefönstret. Ett perspektiv har ett antal fönster och knappar för kommandon. Det finns massor av möjligheter att ställa in Eclipse så att det fungerar på olika sätt (Preferences i Window-menyn). Varje inställningssida har en knapp Restore Defaults som ställer tillbaka alla inställningar till de ursprungliga. 3.2 Användning av Eclipse Vi förutsätter i detta avsnitt att Eclipse har installerats (hur man gör skiljer sig något mellan olika datorer; se separata anvisningar). Vi förutsätter också att vi har skapat ett arbetsområde med ett projekt test0 som innehåller en fil HelloWorld.java och en kompilerad fil HelloWorld.class. Hur man skapar projekt och filer visar vi i nästa avsnitt. När man startar Eclipse får man ett fönster som visas i figur 1 (under Linux, det kan se något annorlunda ut på andra datorer): Om det inte står Java i fönstrets titelrad så är fel perspektiv aktiverat. Byt då perspektiv med Open Perspective i Window-menyn. I projektvyn (längst till vänster under Package Explorer) ser man de projekt man har skapat. När man klickar på pilen vid ett projekt så öppnas projektet så att man ser innehållet..java-filerna finns i katalogen src under (default package),.class-filerna finns i en katalog bin som inte visas i projektvyn.

Eclipse 3 Figur 1: Eclipse-fönster, Java-perspektivet Området i mitten är en texteditor. När man dubbelklickar på en fil i ett projekt så laddas filen in i editorn. Man kan editera flera filer samtidigt i olika flikar. I editorn arbetar man som i alla editorer: man skriver och tar bort text som vanligt, markerar text genom att dra med musen, klipper ut och klistrar in med control-x och control-v, och så vidare. Eclipse-editorn känner till hur Javaprogram ska formateras, så den gör automatiskt indragningar där de ska vara, stoppar in en högerparentes av rätt slag när man skriver en vänsterparentes, och så vidare. Man kan till och med formatera om en hel fil så att programmet följer kodkonventionerna; det gör man med kommandot Format i Source-menyn. Eclipse-editorn kontrollerar också programmet och kompilerar det under tiden man skriver. Om man skriver något som bryter mot Javas regler så markeras rader som innehåller fel med kryss till vänster om raden. Man får en förklaring av felet genom att hålla musmarkören över krysset. Området under texteditorn har flera flikar. I Console visas utskrifter från program som körs, och där skriver man också indata till programmet. I Problems visas felmeddelanden som finns i filer som man sparat. Man kör ett program genom att högerklicka på filen som innehåller main-metoden i projektvyn och välja Run As > Java Application. (Eller genom att välja Run As > Java Application i Run-menyn eller genom att klicka på Run-ikonen i verktygsraden.) Om man råkat stänga till exempel editorfönstret utan att vilja det eller ställt till något annat med Javaperspektivet, så kan man återställa perspektivet till utgångsläget med kommandot Reset Perspective i Window-menyn. 3.3 Skapa projekt och klass Nu visar vi steg för steg hur man skapar ett nytt projekt med en klass och hur man kör programmet. Projektet ska heta test1 och innehålla en klass Calculator med följande utseende:

4 Eclipse /** Calculator beräknar summan av två tal */ public class Calculator { public static void main(string[] args) { double nbr1 = 5.5; double nbr2 = 11.3; double sum = nbr1 + nbr2; System.out.println("Summan av talen är " + sum); Detta är inte ett vettigt program, eftersom det bara kan beräkna summan av talen 5.5 och 11.3. Om man vill beräkna summan av två andra tal måste man ändra i programmet och kompilera om det. Något mera användbart skulle programmet bli om det läste in talen från tangentbordet, men vi gör det så enkelt som möjligt nu. Gör följande: 1. Skapa projektet test1. Välj File > New > Java Project, skriv namnet på projektet, klicka på Finish. 2. Skapa en fil Calculator.java. Markera projektet test1 i projektvyn, klicka på New Java Classikonen i verktygsraden, skriv namnet på klassen (Calculator), klicka på Finish. 3. Den nya filen laddas automatiskt in i editorn. Eclipse fyller i paketnamnet, klassnamnet och de parenteser som alltid ska finnas. Komplettera klassen med main-metoden som visas ovan. 4. Spara filen. 5. Kör programmet genom att högerklicka på filen och välja Run As > Java Application. Utskriften som görs med System.out.println hamnar i konsolfönstret (om utskriften inte blir Summan av talen är 16.8 så har du skrivit fel i programmet). En del program behöver utnyttja klasser som inte finns i det aktuella projektet. (Egentligen gör alla program det, de använder Javas standardklasser, men dessa är alltid tillgängliga och man behöver inte göra något för att programmen ska komma åt dem.) Man måste för projektet ange var dessa klasser finns. Det gör man genom att högerklicka på projektet och välja Build Path > Configure Build Path. Sedan finns det två fall: Klasserna som ska utnyttjas finns i ett annat projekt i samma arbetsområde. Klicka på Projects > Add... och markera projektet som innehåller klasserna. Klasserna som ska utnyttjas finns i en biblioteksfil (.jar-fil, Java Archive) i ett annat projekt. Klicka på Libraries > Add JARs... och välj rätt.jar-fil. Om.jar-filen finns utanför arbetsområdet klickar man i stället på Add External JARs... och letar upp filen. 3.4 Hitta fel i program Fel i program är av två slag: dels språkfel som kompilatorn hittar (man glömmer ett semikolon, glömmer att deklarera en variabel, stavar fel till ett ord och liknande fel), dels logiska fel som medför att ett program ger felaktigt resultat när det exekveras. Som exempel tar vi programmet som beräknar summan av två tal från föregående avsnitt. Satsen som beräknar summan och sparar den i variabeln sum ser ut så här: double sum = nbr1 + nbr2;

Eclipse 5 Om vi i stället hade skrivit dubbel sum = nbr1 + nummer2; hade vi gjort två språkfel: typen för reella tal heter double, inte dubbel, och variabeln där värdet av det andra talet finns heter nbr2, inte nummer2. Kompilatorn markerar alla fel av denna typ, och de är för det mesta enkla att korrigera (det kan vara svårt att tolka felmeddelandena i början, men det lär man sig efterhand). Logiska fel är svårare att hitta. Antag att vi hade skrivit satsen på följande sätt: double sum = nbr1 - nbr2; Detta är en helt korrekt sats och programmet kan kompileras och köras utan problem, men resultatet blir inte korrekt (man får utskriften Summan av talen är -5.8). Det här programmet är så litet och felet är så uppenbart att man kan hitta felet genom att bara titta på programmet. Men i allmänhet är det inte så enkelt: riktiga program är mycket större och felet kan vara mycket mera komplicerat. För att hitta logiska fel behöver man skaffa sig information om vad som händer under exekveringen av programmet. Ett sätt att göra det är att lägga in utskrifter av viktiga variabelvärden på lämpliga ställen i programmet (det är ju egentligen det vi gjort i ovanstående program, där vi omedelbart efter summeringen skriver ut summavärdet). Detta sätt är dock svårhanterligt och tidsödande. Bättre är att utnyttja en debugger ( avlusare ). Då får man möjlighet att själv kontrollera exekveringen av programmet: man kan köra programmet rad för rad och man kan under tiden titta på hur variabelvärdena ändras. Man kan också sätta brytpunkter i programmet. När man sedan startar programmet så stoppas exekveringen när den når en brytpunkt. Man sätter en brytpunkt på en rad genom att dubbelklicka till vänster om raden, och man tar bort en brytpunkt på samma sätt. När man har satt en brytpunkt kan man starta debuggern. Det gör man genom att högerklicka på filen och välja Debug As > Java Application. Eclipse byter till debug-perspektivet. Fönstrets nya utseende visas i figur 2. Figur 2: Eclipse-fönster, debug-perspektivet

6 Importera och exportera filer I mitten finns editorfönstret. Den rad som står i tur att exekveras är markerad med en pil. Ovanför editorfönstret finns en vy med information om det körande programmet. I verktygsraden finns ikoner för kommandon. De viktigaste är: Resume fortsätt exekveringen till nästa brytpunkt eller till programmets slut. Terminate avsluta exekveringen av programmet. Step over exekvera en rad i programmet. Step into exekvera till nästa rad, gå in i metoder som anropas. 4 Importera och exportera filer När man arbetar med Eclipse har man normalt alla sina filer i projekt i arbetsområdet. Om man har filer någon annanstans kan man importera dem till ett existerande projekt. Det gör man genom att högerklicka på projektet, välja Import... > General > File System och leta upp filerna. Genom att i stället välja Export kan man exportera filer. Man kan också importera och exportera hela projekt. Det gör man genom att högerklicka i projektvyn och välja Import > General > Archive File respektive genom att högerklicka på ett projekt och välja Export > General > Archive File. Ett arkiverat projekt sparas som en komprimerad.zip-fil. 5 Använda Eclipse i EDAA01 Under laborationerna kommer du att använda en del färdigskrivna eller delvis skrivna program. För att få tillgång till dessa måste du först hämta ett arbetsområde som innehåller filerna. Ett förberett arbetsområde finns i packad form i filen edaa01-workspace.zip som finns att hämta på kursens hemsida. När du hämtat och packat upp filen har du fått en katalog edaa01-workspace. Katalogen innehåller projektkatalogerna banktest, lab1, lab2,..., lab6. I katalogen edaa01-workspace finns också en katalog med namnet.metadata. Rör inte den katalogen den används av Eclipse för att spara viktig information. Nu kan du starta Eclipse med kommandot: eclipse & Ett dialogfönster där du kan välja vilket arbetsområde (workspace) du vill öppna visas. Leta efter arbetsområdet edaa01-workspace och välj detta. I fönstret som visas finns i projektvyn (Project Explorer) projekten banktest, lab1,..., lab6. banktest är ett projekt som kan användas för att prova på testverktyget JUnit (se separat PM). Övriga projektkataloger användas under laborationer och övningar.