Introduction to Common Java Development Tools (1) 1.

Slides:



Advertisements
Similar presentations
Week 2 DUE This Week: Safety Form and Model Release DUE Next Week: Project Timelines and Website Notebooks Lab Access SharePoint Usage Subversion Software.
Advertisements

TortoiseSVN By Group 1 Team B. Installing TortoiseSVN.
©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED. Java Integrated Development Environments Heather Natour Senior Lead Engineer Blackboard Inc. July 18 th 10:15am.
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
Java Integrated Development Environments: ECLIPSE Part1 Installation.
Integrated Development Environments. Today We Will: Go over more advanced functionality of Eclipse. Break up into teams to work on presentation and final.
20-Jun-15 Eclipse. Most slides from: 2 About IDEs An IDE is an Integrated Development Environment.
Eclipse Introduction Dwight Deugo Nesa Matic
Integrated Development Environments. Today We Will: Discuss what IDE’s are used for Go over the Eclipse IDE: –What is Eclipse? –How to install and set.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Eclipse Begin at the Beginning. Where to Find it:
Introduction to CVS 7/3/20151UMBC CMSC 341. Outline Introduction to Source Code Management What is CVS? CVS for Project Submission Basic commands Checkout,
Enhancing Developer Productivity using Eclipse Presented by: Tom Sausner.
INF 123: Software Architectures, Distributed Systems, and Interoperability Discussion Session Week 1 - Spring 2008 Instructor: Prof. Richard N. Taylor.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Eclipse IDE. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as teaching.
03 Using Eclipse. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as.
Getting started with Eclipse By Alexander Butyaev.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
INF 111 / CSE 121 Discussion Session Week 2 - Fall 2007 Instructor: Michele Rousseau TA: Rosalva Gallardo.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
ECLIPSE and UML Onur Demir
1 v1.6 08/02/2006 Overview of Eclipse Lectures 1.Overview 2.Installing and Running 3.Building and Running Java Classes 4.Refactoring 5.Debugging 6.Testing.
Understanding Eclipse Development Environment Hen-I Yang July 7, 2006
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
1 v1.6 08/02/2006 Module Road Map 1.Overview 2.Installing and Running 3.Building and Running Java Classes 4.Refactoring 5.Debugging 6.Testing with JUnit.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Warmup A programmer’s wife tells him, “Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.” The programmer.
The Eclipse IDE Gareth Davies. Relevant Bio Professional Developer since 1994 Mostly Microsoft platform, using successive versions of Visual Studio Serious.
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
Plug-in Development Environment. Session Outline Tools Installation Configuration New Project Basic Debugging Remote Debugging.
TOOLS FOR DESIGN AND DEVELOPMENT ENVIRONMENTS. Case study - ECLIPSE Lecture notes 4.
SENG 301 – Tutorial 1 Introduction to Eclipse, Subclipse, and JUnit Slides: Theodore D. Hellmann.
TOOLS FOR DESIGN AND DEVELOPMENT ENVIRONMENTS. Case study - ECLIPSE Lecture notes 7.
INF 123: Software Architectures, Distributed Systems, and Interoperability Discussion Session Week 1 - Spring 2008 Instructor: Prof. Richard N. Taylor.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Introduction to Eclipse CSC 216 Lecture 3 Ed Gehringer Using (with permission) slides developed by— Dwight Deugo Nesa Matic
Eclipse Eclipse An IDE is an Integrated Development Environment Different IDEs meet different needs – BlueJ, DrJava are designed as teaching.
9/2/ CS171 -Math & Computer Science Department at Emory University.
Eclipse. An IDE is an Integrated Development Environment Different IDEs meet different needs BlueJ, DrJava are designed as teaching tools Emphasis is.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
Eclipse 24-Apr-17.
Eclipse. An IDE is an Integrated Development Environment Different IDEs meet different needs BlueJ, DrJava are designed as teaching tools Emphasis is.
Development with Eclipse Software Engineering Prof. Werner Krandick.
L.T.E :: Learning Through Experimenting Using google-svn for MtM Docs Development Denis Thibault Version 3.2 Mar 12 th, 2009.
Surya Bahadur Kathayat Outline  Ramses  Installing Ramses  Ramses Perspective (Views and Editors)  Importing/Exporting Example.
© 2002 IBM Corporation Transaction Processing Facility TPF Users Group Acapulco May 2004 © 2004 IBM Corporation Pete Nicholls IBM Toronto Lab TPF Toolkit.
University of Southern California Center for Systems and Software Engineering Configuration Management: Concepts and Tools Pongtip Aroonvatanaporn CSCI.
------TAO, MARKUS Project IT. JavaDoc ‣ JavaDoc is a standard method of commenting source code (interfaces, classes, methods, instances variables). ‣
Eclipse 27-Apr-17.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Java IDE Dwight Deugo Nesa Matic
Development with Eclipse
ATS Application Programming: Java Programming
SENG 301 – Tutorial 1 Introduction to Eclipse, Subclipse, and JUnit
Concurrent Version Control
IDE++ User study & Eclipse Tutorial
Eclipse 20-Sep-18.
slides borrowed and adapted from Alex Mariakis and CSE 390a
Test-Driven Development
Subversion Basics Guide
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
By Rajanikanth B Eclipse IDE Overview By Rajanikanth B
Test-Driven Development
Review of Previous Lesson
Java Code Review with CheckStyle
Presentation transcript:

Introduction to Common Java Development Tools (1) 1

2 Contents 1. Eclipse IDE and its plugins 2. Version Control with Subversion 3. Comparison Tool: WinMerge 4. Building tool: Ant 5. Unit Test using JUnit 6. Other Tools

3 Contents 1. Eclipse IDE and its plugins 2. Version Control with Subversion 3. Comparison Tool: WinMerge 4. Building tool: Ant 5. Unit Test using JUnit 6. Other Tools

About IDEs  An IDE is an Integrated Development Environment  Different IDEs meet different needs  BlueJ, DrJava are designed as teaching tools  Emphasis is on ease of use for beginners  Little to learn, so students can concentrate on learning Java  Eclipse, JBuilder, NetBeans are designed as professional-level work tools  Emphasis is on supporting professional programmers  More to learn, but well worth it in the long run  We will use Eclipse, but other professional IDEs are similar 4

Eclipse  Eclipse is an IDE (Integrated Development Environment)  It’s an open source project   Consortium of companies, including IBM  Launched in November 2001  It’s a framework for software tools (“plug-ins” in Eclipse terminology)  Main component is the workbench  Ships with two plug-ins JDT (Java Development Tools) and PDE (Plug-in Development Environment) 5

Release 6

Installation 7 Prerequisite Eclipse compatible JRE+ Eclipse 3.3 Java 5 JRE+ Install Download Eclipse: Unzip it and run eclipse.exe

Workbench Terminology 8 Tool bar Perspective and Fast View bar Resource Navigator view Stacked views Properties view Tasks view Outline view Bookmarks view Menu bar Message area Editor Status area Text editor

Java Perspective  Java-centric view of files in Java projects  Java elements meaningful for Java programmers 9 Java project package class field method Java editor

Java Perspective  Browse type hierarchies  “Up” hierarchy to supertypes  “Down” hierarchy to subtypes 10 Type hierarchy Selected type’s members

Java Perspective  Search for Java elements  Declarations or references  Including libraries and other projects 11 Hits flagged in margin of editor All search results

Java Editor  Hovering over identifier shows Javadoc spec 12

Java Editor 13 Method completion in Java editor List of plausible methodsDoc for method

Java Editor  On-the-fly spell check catches errors early 14 Preview Click to see fixes Problem Quick fixes

Java Editor 15 Method stub insertion for inherited methods Method stub insertion for anonymous inner types Java editor creates stub methods

Java Editor 16 Variable name suggestion Argument hints and proposed argument names JavaDoc code assist Java editor helps programmers write good Java code

Java Editor  Other features of Java editor include  Code formatter  Source code for binary libraries  Built-in refactoring 17

Refactoring  Refactoring actions rewrite source code  Within a single Java source file  Across multiple interrelated Java source files  Refactoring actions preserve program semantics  Does not alter what program does  Just affects the way it does it  Encourages higher code quality  Makes it easier to rewrite poor code 18

Refactoring  JDT has actions for refactoring Java code 19

Refactoring  Full preview of all ensuing code changes  Programmer can veto individual changes 20 List of changes “before” vs. “after”

Refactoring  Growing catalog of refactoring actions  Organize imports  Rename {field, method, class, package}  Move {field, method, class}  Extract method  Extract local variable  Inline local variable  Reorder method parameters 21  Fowler, Martin (1999). Refactoring. Improving the Design of Existing Code. Addison-Wesley.

Eclipse Java Compiler  Eclipse Java compiler  JCK-compliant Java compiler  Helpful error messages  Generates runnable code even in presence of errors  Fully-automatic incremental recompilation  High performance  Scales to large projects  Multiple other uses besides the obvious  Syntax and spell checking  Analyze structure inside Java source file  Name resolution  Content assist  Refactoring  Searches 22

Eclipse Java Debugger  Run or debug Java programs 23 Threads and stack frames Editor with breakpoin t marks Console I/O Local variables

Shortcut Key  Ctrl+D: Delete current line  Ctrl+/ : Commnt/Uncommnt current line  Ctrl+K: Find Next Selected  Ctrl+Shift+K: Find Previous Selected  Ctrl+Space: Content Assitant (may conflict with some input methods, but can be customized)  Ctrl+Shift+F: Code Format  F3: Open Declaration  F5: Step Into  F6: Step Over  F7: Step Return  F8 : Continue  F11: Debug Last Launched 24

Customized Shortcut key Window->Preferences->General->Keys 25

Install Plugin Help->Install New Software 26

Uninstall Plugin Window->Preference->Install/Update 27

Useful Plugins  AnyEdit  checkstyle  jadclipse  m2eclipse  openexplorer  subclipse 28

AnyEdit  Install  UI 29 more usage:

CheckStyle  Install  UI 30

CheckStyle Effect 31

CheckStyle Configuration File 32

Openexplorer  Install 1) download from 2) Put it into your Eclipse plugin directory, which is:“$ECLIPSE_HOME/plugins” 3) Restart Eclipse workbench, and that’s it. 33

34 Contents 1. Eclipse IDE and its plugins 2. Version Control with Subversion 3. Comparison Tool: WinMerge 4. Building tool: Ant 5. Unit Test using JUnit 6. Other Tools

Motivations  A place to store your code  Historical record of what was done over time  Synchronization between developers  Developer not tied to one machine  Work from home  Work from any machine  We’ve had problems  。。。 35

Working copy Repository Internet 36

Repository versus Working Copy  Project code is stored in a server in a data store referred to as a “repository.”  Developers “check out” copies of the project code into their local environments. These copies are referred to as “working copies.”  After making changes to a working copy, the developer “commits” changes to the repository.  Other developers get these changes by “updating” their working copies. 37

Why Subversion?  CVS with added features  Uses relational DB  Faster performance  Supports all file types  Available for many platforms  Easy to set up  Tools with UI support  Good internal structure  Opportunities for future improvements 38

Tools  Tortoise SVN   Eclipse Plug-in  Subclipse (recommended)  Eclipse Update Site: 39

Repo-Browser  Repository browser 40

Initial Check Out  Create directory on computer to download to  SVN Checkout… 41

Adding/Deleting File  SVN Add  Create file in the working directory  Right click on file and choose “Add…”  Add single files to the repository OR  Right click on the working directory and choose “SVN Commit”  Add all files/Changes to the repository  SVN Delete  Deletes locally until committed 42

Update vs. Commit  SVN Update  Updates the working copy with the latest version in repository  Merges the version in repository with working copy  SVN Commit  Modifies the version in the repository  Merges the working copy with the repository 43

Other Basic Features  Revert  Reverts all changes of the working copy to the version since last commit  Get Lock  Locks the file so that it is only accessible by you  Release Lock  Releases the file to make it accessible to others again  View Difference (Diff)  View differences between working copy and the repository 44

Conflict Resolution  File is simultaneously modified by multiple users  3 Files created  Mine, OLDREV, NEWREV  The “TortoiseMerge” window  SVN Resolved 45

Advanced Features  Refer to the user manual for more advanced features  Branch/tag  Revision graph  Relocate  Export 46

Update and Commit updatecommit Unchanged, and current does nothing Locally changed, and current does nothingwrites changes into repo Unchanged, and out-of-date replaces working file with new one does nothing Locally changed, and out-of-date merges changes into working file operation fails with out-of-date error 47

Subclipse: subversion plugin for Eclipse 48

49 Contents 1. Eclipse IDE and its plugins 2. Version Control with Subversion 3. Comparison Tool: WinMerge 4. Building tool: Ant 5. Unit Test using JUnit 6. Other Tools

50 WinMerge  WinMerge is an Open Source differencing and merging tool for Windows.  WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.

51 Folder Comparison

52 Folder Comparison

53 File Comparison Useful Shortcut Key  Alt ->  Alt <-  Alt ↑  Alt ↓

54 Integrated With TortoiseSVN

55 Integrated With TortoiseSVN

56 Compare & Merge before Commit

57 Compare revisions

Thank You! 58