introduction to common java development tools (1) 1
TRANSCRIPT
![Page 1: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/1.jpg)
Introduction to Common Java Development Tools (1)
1
![Page 2: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/2.jpg)
2
Contents
1. Eclipse IDE and its plugins
2. Version Control with Subversion
3. Comparison Tool: WinMerge4. Building tool: Ant5. Unit Test using JUnit6. Other Tools
![Page 3: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/3.jpg)
3
Contents
1. Eclipse IDE and its plugins
2. Version Control with Subversion
3. Comparison Tool: WinMerge4. Building tool: Ant5. Unit Test using JUnit6. Other Tools
![Page 4: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/4.jpg)
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
![Page 5: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/5.jpg)
Eclipse Eclipse is an IDE (Integrated Development
Environment) It’s an open source project
http://www.eclipse.org 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
![Page 6: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/6.jpg)
Release
6
![Page 7: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/7.jpg)
Installation
7
Prerequisite•Eclipse 3.0 1.4-compatible JRE+•Eclipse 3.3 Java 5 JRE+
Install•Download Eclipse:
http://www.eclipse.org/downloads/
•Unzip it and run eclipse.exe
![Page 8: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/8.jpg)
Workbench Terminology
8
Tool bar
PerspectiveandFast Viewbar
ResourceNavigatorview
Stackedviews
Propertiesview
Tasksview
Outlineview
Bookmarksview
Menu bar
Messagearea
EditorStatusarea
Texteditor
![Page 9: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/9.jpg)
Java Perspective Java-centric view of files in Java projects
Java elements meaningful for Java programmers
9
Javaproject
package
class
field
method
Javaeditor
![Page 10: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/10.jpg)
Java Perspective Browse type hierarchies
“Up” hierarchy to supertypes “Down” hierarchy to subtypes
10
Typehierarchy
Selectedtype’s
members
![Page 11: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/11.jpg)
Java Perspective Search for Java elements
Declarations or references Including libraries and other projects
11
Hitsflaggedin marginof editor
All search results
![Page 12: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/12.jpg)
Java Editor Hovering over identifier shows Javadoc spec
12
![Page 13: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/13.jpg)
Java Editor
13
Method completion in Java editor
List of plausible methods Doc for method
![Page 14: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/14.jpg)
Java Editor On-the-fly spell check catches errors early
14
Preview
Clickto seefixes
Problem
Quickfixes
![Page 15: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/15.jpg)
Java Editor
15
Method stub insertionfor inherited methods
Method stub insertion for anonymous inner
types
Java editor creates stub methods
![Page 16: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/16.jpg)
Java Editor
16
Variable namesuggestion
Argument hints andproposed argumentnames
JavaDoccode assist
Java editor helps programmers write good Java code
![Page 17: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/17.jpg)
Java Editor Other features of Java editor include
Code formatter Source code for binary libraries Built-in refactoring
17
![Page 18: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/18.jpg)
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
![Page 19: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/19.jpg)
Refactoring JDT has actions for refactoring Java code
19
![Page 20: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/20.jpg)
Refactoring Full preview of all ensuing code changes
Programmer can veto individual changes
20
List of changes
“before” vs.
“after”
![Page 21: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/21.jpg)
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.
![Page 22: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/22.jpg)
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
![Page 23: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/23.jpg)
Eclipse Java Debugger Run or debug Java programs
23
Threads and stack
frames
Editor with
breakpoint marks
Console I/O
Local variables
![Page 24: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/24.jpg)
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
![Page 25: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/25.jpg)
Customized Shortcut keyWindow->Preferences->General->Keys
25
![Page 26: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/26.jpg)
Install PluginHelp->Install New Software
26
![Page 27: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/27.jpg)
Uninstall PluginWindow->Preference->Install/Update
27
![Page 28: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/28.jpg)
Useful Plugins AnyEdit
checkstyle
jadclipse
m2eclipse
openexplorer
subclipse
28
![Page 29: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/29.jpg)
AnyEdit Installhttp://andrei.gmxhome.de/eclipse/
UI
29• more usage: http://andrei.gmxhome.de/anyedit/features.html
![Page 30: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/30.jpg)
CheckStyle Install
http://eclipse-cs.sf.net/update/ UI
30
![Page 31: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/31.jpg)
CheckStyle Effect
31
![Page 32: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/32.jpg)
CheckStyle Configuration File
32
![Page 33: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/33.jpg)
Openexplorer Install1) download from
https://github.com/samsonw/OpenExplorer/archives/master
2) Put it into your Eclipse plugin directory, which is:“ $ECLIPSE_HOME/plugins”
3) Restart Eclipse workbench, and that’ s it.
33
![Page 34: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/34.jpg)
34
Contents
1. Eclipse IDE and its plugins
2. Version Control with Subversion
3. Comparison Tool: WinMerge4. Building tool: Ant5. Unit Test using JUnit6. Other Tools
![Page 35: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/35.jpg)
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
![Page 36: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/36.jpg)
Working copy
Working copy
Working copy
Repository
Internet
36
![Page 37: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/37.jpg)
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
![Page 38: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/38.jpg)
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
![Page 39: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/39.jpg)
Tools Tortoise SVN
http://tortoisesvn.net/downloads Eclipse Plug-in
Subclipse (recommended) Eclipse Update Site:
http://subclipse.tigris.org/update_1.4.x
39
![Page 40: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/40.jpg)
Repo-Browser Repository browser
40
![Page 41: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/41.jpg)
Initial Check Out Create directory on computer to download to SVN Checkout…
41
![Page 42: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/42.jpg)
Adding/Deleting File SVN Add
Create file in the working directory Right click on file and choose “Add…”
Add single files to the repositoryOR
Right click on the working directory and choose “SVN Commit”
Add all files/Changes to the repository SVN Delete
Deletes locally until committed
42
![Page 43: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/43.jpg)
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
![Page 44: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/44.jpg)
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
![Page 45: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/45.jpg)
Conflict Resolution File is simultaneously modified by multiple users 3 Files created
Mine, OLDREV, NEWREV The “TortoiseMerge” window
SVN Resolved45
![Page 46: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/46.jpg)
Advanced Features Refer to the user manual for more advanced
features Branch/tag Revision graph Relocate Export
46
![Page 47: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/47.jpg)
Update and Commit
update commit
Unchanged, and current
does nothing does nothing
Locally changed, and current
does nothing writes 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
![Page 48: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/48.jpg)
Subclipse: subversion plugin for Eclipse
48
![Page 49: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/49.jpg)
49
Contents
1. Eclipse IDE and its plugins
2. Version Control with Subversion
3. Comparison Tool: WinMerge4. Building tool: Ant5. Unit Test using JUnit6. Other Tools
![Page 50: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/50.jpg)
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.
![Page 51: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/51.jpg)
51
Folder Comparison
![Page 52: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/52.jpg)
52
Folder Comparison
![Page 53: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/53.jpg)
53
File ComparisonUsefulShortcut
Key
Alt -> Alt <-
Alt ↑ Alt ↓
![Page 54: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/54.jpg)
54
Integrated With TortoiseSVN
![Page 55: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/55.jpg)
55
Integrated With TortoiseSVN
![Page 56: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/56.jpg)
56
Compare & Merge before Commit
![Page 57: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/57.jpg)
57
Compare revisions
![Page 58: Introduction to Common Java Development Tools (1) 1](https://reader035.vdocument.in/reader035/viewer/2022062309/5697bf701a28abf838c7d857/html5/thumbnails/58.jpg)
Thank You!
58