Eclipse in Action
Overview With a book like this it's difficult to know where to pitch the level. Do you aim for the lowest common denominator or do you assume some experience on the part of your reader? This book seems to have pitched itself well, not pandering to the absolute Java newbie, not afraid to get down into the code and yet gentle enough that newer Java developers can follow easily. The heavyweight chapter on writing plug-ins is at the back where it shouldn't frighten those of a sensitive nature.
The book is divided into two sections. The first and largest section concerns actual use of Eclipse during Java application development. The second section is for those who wish to write plug-ins for Eclipse.
The book takes a very 'Test Driven Development' approach to Java development and this shows in the manner that Eclipse is presented and taught. Emphasis is given to the tools that come with Eclipse, especially Ant, Junit and the CVS client. For those already skilled in these tools, this might seem like filler, but remember that there are still pitifully few Java developers using even these simple and free tools. My hat is off to the authors for their TDD evangelism, skillfully disguised as Eclipse usage instruction.
What's To Like I liked the progression followed in the book, first teaching the basic operation of Eclipse and then moving on to the tools that come with the base install. What's To Consider Some may consider that the material on Ant, Junit and CVS is filler. The 'Test Driven Development' theme may be a little too much evangelism for some.I use Eclipse on a Mac OS X box and I felt that there was very little discussion concerning the cross-platform attributes of the tool. All of the screenshots were from a Microsoft Windows build of the software; a Linux or OS X screenshot would have been helpful.
One more niggle and then I'm done. There is no information on using Eclipse with other programming languages (a couple of paragraphs in the introduction chapter doesn't really count). I've recently started tinkering with Ruby and have used a Ruby plug-in to allow me to work within Eclipse as I learn the language. This is a wonderful testament to the power and extensibility of Eclipse.
Summary This is a good book. You know it's a good book when you already use the tool (both pure Eclipse and IBM's WSAD) regularly and you find yourself learning things that you had not previously been aware of. If you are working with Java and want a good free IDE that's going to grow with you, then Eclipse is a tool you should try -- and consider this book the User's Guide that would have been in the box if Eclipse came shrink-wrapped.Table Of Contents
- Using Eclipse
- Overview
- Getting started with the Eclipse Workbench
- The Java development cycle: test, code, repeat
- Working with source code in eclipse
- Building with Ant
- Source control with CVS
- Web development tools
- Extending Eclipse
- Introduction to Eclipse plug-ins
- Working with plug-ins in Eclipse
You can purchase Eclipse in Action from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Eclipse is easily the best IDE i have ever used - especially for java compared to other bloatwares for development like
:)
JBuilder/Netbeans/ Visual Age for Java. IMO, it is also the most easiest one to get familiar with. I have used IBM tools like Visual Age For java & Visual Age for CPP and boy, where they a pain to get started on.
This page has all the shortcuts in the IDE- valuable time savers
Siggy Say, Siggy Do
is already /.'ed... wonderful.... Mirror anybody?
This is a test. This is a test of the emergency sig system. This has been only a test.
From the Eclipse page :
Welcome to eclipse.org
Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular.
It's an EMACS clone then ?
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
Even during an Eclipse, it's still unsafe to look at Sun.
Use Eclipse and I am sure you will understand why.
i've got this book as well as the slightly outdated netbeans book from oreilly. the netbeans book is miles better than the eclipse book. the eclipse book definately reads like an ibm type book. there are not enough pictures and walk throughs as there are explaining every single widget/button/option in extreme wordy detail.
the netbeans was an overall easy read and got the user quickly familiar with the parts of the ide they needed to use.
i'm a heavy eclipse user during my day job mainly b/c i think it's slightly nicer on win32, and i like the debugger more than netbeans. eclipse also seems to require slightly memory footprint and since i haven't yet convinced my manager that having more than 384MB of memory for a java development ide and running a local wl server is absolutely necessarry for maintaining some level of sanity, i'm using what works best for me. at home on a linux platform, i prefer netbeans just because it looks and feels nicer. the gtk+ on linux isn't as nice as the native java look and feel. just my personal preferance.
I dislike the way that Eclipse seems to handle projects.
... less than desirable, in my experience.
I work on multiple projects at once, sometimes projects have sub-projects, and none of them are located on my local machine. The way Eclipse handles them is
What I really like about Eclipse is the PHP addon, with its function/class outline view. I just wish that, if projects were properly implemented, that the addon would be able to outline all of the functions in the entire project. Now THAT would be cool.
Please name even ONE black involved with Open Source.
I think this project has one black involved. Of course, all of those sourceforge projects look the same.
I fail to see any problem with the bold section of text. A comma is appropriate to separate two different adjectives when both describe the same noun.
This should be obviuos, but here we go.
JBuilder is not free software (or even OSS). Borland can restrict the use of the Personal edition in whatever ways they want. Borland can simply discontinue the free edition at any time and leave the users without any option short of buying the paid edition or switching development platform (and this is a major problem for any serious development effort).
You also can't assume Borland will update the product in a timely manner. They can for instance delay the support for a new JDK version for whatever reason and you can do nothing.
In the end, having control over its development platform is strategic for most companies in this business. Im my shop we are moving fast towards completely open enviroment. In most cases only Windows itself is the last piece that must go but the market still requires us to have it around.
Here are the new features from the Eclipse 3.0 Milestones 1 and 2.
2 00306051737/eclipse-news-M1.html 0 M2-200307181617/eclipse-news-M2.html
Got these links off blogdex this morning.
Milestone 1: http://download.eclipse.org/downloads/drops/S-M1-
Milestone 2: http://download2.eclipse.org/downloads/drops/S-3.
I use WSAD and Eclipse 2.0 regularly. WSAD's (Based on Eclipse 1.0) java editor is weak, but the editor in Eclipse 2.0 is among the best I have ever used.
Sure, Eclipse is good, but does it give your mouth a good clean feeling, no matter what?
How are you going to keep them down on the farm once they've seen Karl Hungus?
To un-necessarily drawl on this topic, it is rather unusual to use review as an adjective. Most people would see a compound noun there: "review copy", with only a single adjective "free". In this view, the comma is incorrect. You can see that is is both correct, yet unusual by this question/answer: "What kind of copy?" - "A review one." Works, but sounds weird.
Ah, the beauty of linguistics.
Switch back to Slashdot's D1 system.
Have you compared Eclipse's resource footprint to JBuilder/Netbeans/VA Java? It's more bloated.
I've been a regular user of VA-Java/Smalltalk for years, and Eclipse uses a lot more resources and is missing many features the Envy-based repositories have.
How easy is it to use as a J2EE web development environment? Right now I'm working on my first J2EE project and we're using Sun One/NetBeans because of its built-in development web server.
Is it easy or even possible to set run J2EE web applications from a development environment on your own PC?
The Red Pill
It could be that for a general experienced java programmer, GUI editors just don't work as well for Java. What with layouts, different ways to do things, etc., designing powerful UI code for Java is different than say for Win32 (and yes, I've done both). Personally, I'm faster just writing straight code from a logical standpoint instead of dragging in code from a physical one. It's a fairly common sentiment on comp.lang.java.* also.
That's why.
Blar.
The sentence with the superfluous "is" is rather unusual too, not only because of the "is is", but also because of the "both". Both what? I also wonder about your usage of "correct".
Ah, the beauty of linguistics.
Yes. :-)
Well, at a higher level it seems to be. Just based on Java instead of lisp. It seems that they've taken a similar approach for similar reasons (including 'by programmers, for programmers'). And now I currently jump between both for doing Java work (Eclipse and Emacs+JDEE)
Drag and drop has not been fully implemented for all platforms yet. Since the Eclipse GUI is built upon SWT (which spawned from Eclipse), SWT must support Drag and Drop. Currently it is not supported on all OSes that Eclipse runs on.
If you head over to the SWT development page you will notice that Linux/gtk, MacOS and QNX all still need Drag and drop to be implemented. I know for MacOS, Drag and drop will be in Eclipse/SWT 3.0
Its not what it is, its something else.
Can you use it for langauges other than Java?
Like C++, for example.
Borland should be afraid. I develop java with Eclipse pretty much exclusively now, and if you're doing server-side java you don't really need anything else. Only thing I haven't figured out how to do is deploy EJB's like Jetace (I use Websphere). Anyone know? Can I export the EJB completely from within Eclipse?
Back on track, check out this plugin: PMD. It scans your classes for unused variables and a few other things. Some code our company paid for had literally hundred of unused strings in a class!
Can someone point me at a UDDI plugin for Eclipse? That is one of the features I most need that they are lacking.
Well, it was a simple enough typo, no need to make a fuss about it. It's certainly not very interesting linguistically.
And mock me all you want, but I wasn't kidding, I really do think it's interesting! =)
Switch back to Slashdot's D1 system.
What's happened to all the decent trolls? Does no-one try any more?
I can't seem to find any.
Think like a man of action, act like a man of thought.
...umkay?
I use Eclipse on a Mac OS X box and I felt that there was very little discussion concerning the cross-platform attributes of the tool. All of the screenshots were from a Microsoft Windows build of the software; a Linux or OS X screenshot would have been helpful.
I've used Eclipse on both Windows and Linux. It looks and works exactly the same. There is no need to show screenshots from different OSes.
In what way?
What is it "faster" at doing? And it's only "user-friendly" if you're moving straight from Visual Studio... whose interface it pretty much mimics.
Most Eclipse books (there are only 2 I think) & tutorial are concentrated on developing plugins.
./LL
Eclipse plugins are indeed cool. But what is lacking is good docs for developing stand alone JFace (equivalant of javax.swing) applications. SWT is much talked about being an alternative to Swing. but still, I don't see much documentation on developing stand alone applications.
For example, I have a small Swing GUI program, size of my program jar is ~1M. I'd love to convert it to SWT/JFace. But I don't want to convert it into a plugin. Because then I'd have to distribute Eclipse work bench with it. The 'minimal' eclipse is around ~12M. So my distribution file size increased 10 fold!
any pointers appreciated.
thanks
I find netbeans approach i.e mounting directories much more intuitive than the project driven approach of eclipse. However eclipse is better looking and lacks the annoying gui hangs of swing apps.
...who'd never heard of this IDE before, and always want screenshots to quickly judge for themselves if something is worth a further look:
screenshot 1, screenshot 2, screenshot 3. (They're kinda old, so undoubtedly this thing has evolved quite a bit further since then.)
You are so right, IDEA kicks total ass. It is well worth the money, and beats any other IDE I've used hands down.
My account appears to have been broken into. Sorry for the inconvenience.
Note to M1-ers: a curt but otherwise insightful message is not "Flamebait" or "Troll".
Boy, you'll really hate "man pages" then. ;)
The REAL jabber has the user id: 13196
What you do today will cost you a day of your life
I didn't even know that we knew about each other's racial background. Unless it is obvious by our names, how do you know who is black or white?
As far as I know, if you have something interesting to contribute, we do not care what color your skin is.
Does anyone have any advice for using Eclipse to program Python???????
Bo
..for what I believe is their current flagship Java development tool, WebSphere Studio Application Developer.
WSAD is a lot bulkier than Eclipse, and integrates strongly with WebSphere for debugging. It also includes a lot more project types than Eclipse, although there are some Eclipse plugins that add similar functionality.
The chances of your account being broken into, having a flame posted and you noticing within the next 1.5 minutes is hardly high. You sir, are a flamer.
What do you mean by the word "is"?
--You will rephrase your request for me to go to hell. Goto statements are not acceptable programming constructs
You can now download SWT on its own in Eclipse website.
Go to the Eclipse 2.1 download page, then scroll down the bottom and you should find the "SWT Binary and Source".
Getting your application to work using SWT/JFace without the entire Eclipse framework isn't that difficult. Check out this article for detailed instructions.
FWIW, I've actually done this and the results are great.
Heavyweight chapter on plug-in development? The Java Developer's Guild to Eclipse (Sherry Shavor, Jim D'Anjou, Dan Kehn, Scott Fairbrother, John Kellerman, Pat McCarthy) has a far better section (over half the book) on plug-in development. From what I can tell, the tutorial section of the book is well-done, though I haven't spent much time with it.
If you've ever used Eclipse, I'd recommend the other book. If you're completely new to Eclipse, check out the included tutorials. They're surprisingly well-done.
Even if you aren't a Java programmer, it may be worth having a look at Eclipse as a CVS client. Most graphical CVS clients rub me the wrong way. WinCVS is difficult to use and not intuitive. Try Eclipse - it actually lets you look at the projects on the repository and lets you view the resource history to compare any two files. The branching and mergeing features are very nice as well.
Random is the New Order.
Next time, think carefully about what you'd do for a fp.
If you haven't used IDEA from IntelliJ (www.intellij.com), I don't think you can say this. Seriously, I've used 'em all and was blown away by IDEA. Definitely worth a try.
"Let your heart soar as high as it will. Refuse to be average." - A. W. Tozer
I'm a troll, I anonymously post links to homosexual pornography, I FP, I crapflood (shitstorm broke my computer, though), and I WANT TO KILL YOU!
Note to M1-ers: a curt but otherwise insightful message is not "Flamebait" or "Troll".
I found eclipse when I was searching for a kind of IDE which my freind called "a black cat in a dark room, which is not there". But, I found it after discarding Forte (Less than acceptable swing UI), Jbuilder (difficult to see whats going on behind it and licensing fee) and a few other big shots. Then I go this eclipse, which is written in Java but has terrific UI. To use a new plugin just drop the new plugin in to the plugins directory. It lets you see complex program designs, from the type heirarchy and package heirarchy. Its one of those few IDEs which support code refactoring. The list of features is endless.. and the icing is its available with all its source.
What more can you ask from an IDE?
When a post becomes too insightful, it often becomes funny.
Kids these days...
...keep in mind that many of it's UI features are blatant Visual Studio .NET rip off's.
We wouldn't want Microsoft to get any credit on Slashdot (however indirect), now would we???
I am very small, utmostly microscopic.
You are very correct about Eclipse mimicing Visual Studio.
I am very small, utmostly microscopic.
I too like Eclipse. But if you think it is the best ide for java, you haven't tried IntelliJ. At present , it is way ahead of anything else I have tried... Not that eclipse is bad - IntelliJ is simply better.
A lot of people are comparing the free personal edition of JBuilder and Eclipse... Sure, Eclipse blows that away. If you need value, nothing can touch Eclipse.
But I am a professional programmer. I don't care how *much* an IDE costs. I'll gladly pay $500 or $5000 for a tool. I just need the *best* to get the most amount of work done as quickly as possible.
JBuilder Enterprise is that IDE. There is nothing on the planet with more *useful* features than JBuilder Enterprise Edition. J2EE/EJB development is fast and easy with their visual EJB designer and support for ALL the major app servers (deploy, run, debug). There are dozens of useful refactorings, a visual UML view of classes, etc. etc. The only IDE that can complete on productivity features is IntelliJ, and JBuilder 9 has come from behind and met them feature for feature.
Of course this whole argument is only valid if you have the luxury of dropping $3500 a seat for an IDE... =)
Oh and I can't resist knocking down a straw man or two. Someone mentioned being hostage to a company not supporting the latest JDK. That's silly. There is a fundamental difference on the JDK version an IDE is *hosted* on, and the JDK to which you are *compiling* on. Almost all modern IDEs will allow you to set which JDK you wish to target.
As I understand it Eclipse is a Java application. But on my Windows installation, Eclipse is started by double clicking a small exe file on my computer. I reckon this is a small stub file of some sort.
Does anyone here know how to create exe files that'll start a Java application? Starting an application with an exe file is slightly more sexy than with a bat file (this may be a personal preference of mine, but still...).
Some Java apps I've used, such as LimeWire, seems to be a binary exe file and perhaps a few DLL's, but not very much more. How are those created? From a distribution point of view it has to be great to not have to rely on the end user having installed the JRE.
If IBM's WSAD is any indication, Eclipse is a bloated nightmare. I've never used an IDE that took so long to start and was so difficult to figure out. Importing EJBs into a project took dozens of steps. Thanks, but I think I'll take Emacs or Visual SlickEdit over this monster.
Link to sample chapters (2 and 8) from the book
Is this Icon a steaming pile of shit, or Something to do with Java?
Oh wait.
One of the most impressive features that I have seen in Eclipse, and a couple of other Java IDEs (CodeGuide for instance) is the ability to parse the code as you are typing it, and report all compiler errors to you (by underlining the problems in red), before you actually do a full compile.
To me, this feature seems revolutionary. I after discovering it, I had a hard time going back to coding C++ where no such tools exist (to my knowledge). I am always surprised that not many Java programmers seem to know or care about this kind of on-the-fly syntax checking. Coding is much more fun when you can be aware of your mistakes the moment you make them, rather than having to go back and fix them all after you've already forgotten what you were thinking.
I see from the Table of Contents that the book is really just about using the IDE, and I was hoping they would have more in there about using eclipse to build a SWT/Jface App.
I've used eclipse to build just such an app and I found the IDE wasn't difficult to learn, but the API for SWTwas horribly documented. Not even close to the standard you get when you look at the documentation for Swing or AWT. If you can figure out how to make a menu bar with just the API above I'm impressed.
The only way I managed to get things working at all was to look at some code snippets I managed to dig up elsewhere on the site.
Check out this article on SWT and GCG: http://www-106.ibm.com/developerworks/java/library /j-nativegui2/
And this is, I think part of IBM's strategy in contributing Eclipse to the open source world - so that more tool vendors, using the plugin feature, would be able to provide cross-platform tools, instead of always focusing on the Windows-only platform, and porting to other platforms later, if that.
One of the irritating things about using VisualAge (an excellent ide) was that IBM build it around a compiler. So my Linux VAJ 3.0 was running 1.1.x, but VAJ 3.5 on windows ran 1.2. And IBM never built a VAJ 3.5 for Linux - that was probably part of the reasoning behind going to WSAD (in addition to allowing you to use different JDKs).
Take a look at the eclipse.org site to see the consortium of vendors supporting the eclipse ide.
Thank you for your consideration.
This is the fuckhead who broke into my account. Get The Fuck Off My Internet YOU HARRY POTTER SLASHFIC READING HIJACKER!!!!
Note to M1-ers: a curt but otherwise insightful message is not "Flamebait" or "Troll".
If they weren't giving it away, everyone would call it the slow as molasses memory pig it is. Jedit is a much better opensource java editor that doesn't have a big company pushing it and doesn't need a gig of memory to run well. My experience is that opensource is very good at doing small things very well, when IBM stops throwing money at Eclipse, I think that it will die a slow horible death of neglect.
http://www.jedit.org/
Amazon has it for $5 less than bn and with free shipping!
How does it compare to ... say... Bitkeeper?
This is not meant as a troll, I am curious if it would be a possibility.
(It's Free, nice IDE with non-ide options, and import export functions, CVS capabilities (hooks).
Support for some CVS replacement might be a weekend coding project...? (Subversion...)
The big enhancements in the next release
- AspectJ support
- Generics support
- GUI designer
- New JUnit integration
- New VCS integration
The biggest that I have actually used is the CVS integration. It already exists in the current version but they have improved (completely rewritten) the integration to the point where it is a pleasure to use it. You can see the other enhancements here (registration required - but who care you get an evaluation lic for it tooOk, it's a while since I used eclipse as well as IBM's Websphere developer, but both seemed to suck big time compared to JBuilder. Sure, they were better than Visual Age (blech!). But JBuilder, at least to me, seems super-well designed. It always seems to "just work", and do what I want. And when I want to do something new, it always seems intuitive. And the features are great, always seeming to get better in each new release.
Don't get me wrong, if Eclipse is free, I can envisage one day switching. But as long as someone is willing to pay for JBuilder, forget it. I'll stick with JB.
(No, I don't work for Borland! Just a big fan of this product!)
I'm sort of pale brown - does that count?
The tap is on full, but the water dribbles out
It scans your classes for unused variables and a few other things.
That is the primary purpose I use Eclipse. I still write Java in Notepad and vi, but once a month I paste the files into the "workspace" directory, verify all the files are in the project, and "rebuild all". Then I read the warnings and fix the code.
The warning I like the most is:
The argument x is never read.
It made me feel good, since I write most of the code in very stupid text editors and the first time I did this I had less than 20 warnings for an application with over 10K lines of Java. Fixing other warnings removed some probable bugs.
Is it already built into the standard install of Eclipse? Can I use PMD separately, since I am not using the IDE anyway?
Oh, and thanks. The PMD page mentions catching:
Classes which could be Singletons
which caused me to look up what a Singleton is. I am already using the design pattern in several places. (I reinvented it using static liberally.) Now I know that there are standard coding constructs to accomplish it, and my code will improve.
And Eclipse did not warn about them, so either I am using them safely, or Eclipse does not check for them.
I spend my life entertaining my brain.
Netbeans also has support for this and I'm hooked. Another tool I make extensive use of is PMD, which helps to detect various bad habits in coding. I'm not sure about eclipse, but I know there is a netbeans plug-in to show these things in real-time. I've found it handy.
-- Solaris Central - http://w
Why aren't more racial minority members participating in OSS projects?
Have you ever sat back and thought that maybe the problem isn't that we are racist, but that not enough minorities decide to take up programming, and even less OSS programming?
You're just stereotyping nerds the same way racists stereotype you. Go... play basketball or perfect Ebonics. If you want to write a free program, just shut up and do it like we do.
Seriously, the best way to be treated like just another person regardless of color is to just BE another person. It's like you guys are scared to be equal. Just do it. You don't need a law made by a white politician to tell you that you're equal, or special exceptions, or anything like that. YOU act like race isn't a problem, so will others.
Well IBM is using it as a developemnt platform for Websphere, Tivoli and other big $$ products, so I highly doubt that it will be going anywhere.
Conformity is the jailer of freedom and enemy of growth. -JFK
Would you want to compile to a directory outside your workspace? When I create a Java project, I create a src directory, a build directory and a docs directory. I write source in the src directory, compile my code to the build directory. All these reside in my workspace in Eclipse Perhaps you didn't know you could do this in Eclipse?
I have no baseline to compare refactoring to, since I have only used that feature to rename a method in Eclipse, and I haven't use refactoring in any other editor.
I haven't tried Intellij, mostly because of the $499 price tag. I have a fundimental problem paying for an editor (especially that much!) when a perfectly good free alternative exists. I personally do most of my editing in jEdit, but I used Eclipse for a school project recently, and found it to be a very handy tool. If I was still doing commercial Java development, you can bet I would be using Eclipse. It didn't win a Java Pro Readers Choice award for nothing!
IANAL... But I play one on
For users that claims Eclipse or Netbeans is the best IDE.. well take time to try out IDEA and youll never look back. Ive tried them all and IDEA is simply the best. this is what i call a killer application and a real productivity tool. very innovative company.
I haven't been myself recently. Please ignore these last few posts.
Note to M1-ers: a curt but otherwise insightful message is not "Flamebait" or "Troll".
I admit I don't grok why so many people like eclipse. I use and know netbeans, I tried eclipse and my initial experience was:
- it's confusing as hell
- you have to play in its own sandbox of "projects", no easy way to just mount directories the way NB does it.
- it was slower than NB. Admittedly I'm limited to the GTK compile of eclipse and my machine has a half-gig of memory. but I was getting flicker just moving the text cursor in the edit window, and even NB isn't that slow.
- it has a squillion dependencies, and requires a bleeding-edge version of GTK. NB meanwhile can boot on any box that can run a modern JDK.
- I found it less intuitive. Can't just casually browse into a file on the file tree and see its methods, copy and paste them between classes, etc. Can't use the same mechanism to browse inside a mounted jarfile. And so forth.
So, o eclipse users, enlighten me, what is the good stuff about your favourite IDE?
Eclipse could plug into Bitkeeper and act as a front-end... there are many such plugins for things like Perforce, ClearCase, PVCS, etc. But that's about it.
-Stu
C:\>copy con Hello.java
public class Hello
{
public static void main(String args[])
{
System.out.println("Hello World");
}
}
^Z
C:\>javac Hello.java
C:\>java Hello
Exception in thread "main" java.lang.NoClassDefFoundError: Hello
The Eclipse IDE itself is written in SWT which is a JNI interface that hooks up into the host OS's native instructions. I think it's great that the IDE itself is written in Java as opposed to C++ (as was probably the case for VisualAge for Java productline)
I would encourage anyone to check out the SWT examples -- with relative ease you can make your Java code look like Win32 apps or Motif apps--depending on your platform preferences.
Holy cow you must work for Microsoft to be that stuck in a /. disscusion!
OH THE SHAME I fell off the wagon and use sigs again!
The best Java IDE is Microsoft Visual J++.