tags:

views:

298

answers:

4

I see many nice feature of JDEE in Emacs. However installation seems to be a bit involved, especially in Windows so I want to see if others found it useful. I use Eclipse and NetBeans and there are some decent features to these products. However, I really like the idea of a scripted language like Lisp built into my IDE so I can change most features on-the-fly.

So I want to give JDEE a shot, but I've heard from more than one advanced Emacs user that they don't even need JDEE. I wonder if those people even tried JDEE or if they are just doing simple Java projects. Has anyone tried JDEE and liked it? Are there features in Emacs that make JDEE fairly pointless? Please no "try Eclipse" comments..I have used it and it has nice features, but I want to give Emacs a fair shot.

+2  A: 

I haven't done much java development recently, but back-in-the-day JDEE was great. Much of the functionality may not specifically require JDEE (there's always more than one way to do things in emacs), but the general IDE support of compiling the project or file your looking at with a keystroke is easy & handling of compilation errors is good - jumping to each error with another keystroke. One other nice feature was integration of the help docs to launch in a new browser window. Didn't play much with the code completion portions. If nothing else I'd say JDEE smooths the edges when transitioning from something like netbeans or eclipse.

As far as being too difficult to install on windows... not really. Just need to grab a few different packages & toy with your .emacs a bit (--debug-init) & maybe config some settings per project (prj.el file). You can always spend a bit more time tweeking things... but basic functionality shouldn't take too much time.

As long as you're on windows don't forget to have a look at EmacsW32. The patched version there provides nice integration & lets you keep emacs 'always running' in server mode which offsets the startup cost.

myCubeIsMyCell
+4  A: 

I was working on a small (as in one-person) project a few years ago where I decided to give the JDEE a try (I was given a great deal of latitude in getting the project done, so my employer didn't care about which tools were used at the time). The standard tool at the time was Eclipse, and I was curious to see if I could be more productive with JDEE over the standard crop of Java IDEs, and given that I had previously used Emacs and like the productivity that it provides in general (not having to take my hands off the keyboard is a big plus in my view).

I definitely agree that JDEE is more involved getting set up: I spent a good amount of time just getting settings situated to my liking (and never got them completely where I wanted), but in the end it seemed worth it to me as I felt immensely more productive over using Eclipse -- mainly because I didn't find myself clicking all over the damn screen like I typically do in just about any standard Java IDE that's used these days.

Managing and organizing my project's resources (code, and other artifacts that needed to be deployed) also seemed to work much better when I was using JDEE over an IDE, as I was only dependent on having an Ant build script that could build, deploy, test, etc., and didn't have to worry about organizing my code around a particular IDE's preferences. Granted, most modern IDEs aren't terrible in this regard, but it just felt good that my project was not dependent on an IDE at all in order to build, test or deploy -- anyone could just grab the code from the repository and run it as long as Ant was available. Working with the JDEE seems to push you toward this kind of mindset and I personally prefer it.

I won't say that using JDEE is necessarily better or worse than a standard IDE. If anything the productivity you get depends on how much effort your willing to put in to learning the tools (which goes for just about any IDE), but it did fit my style of software development better than Eclipse.

The one big downside I could see toward relying on JDEE heavily is if you are a part of a team: Most development teams these days rely pretty heavily on the tools and features available in IDEs like Eclipse and NetBeans (I'd go so far as to say they are a bit spoiled by them) and it's likely you'll encounter some friction if you're using something other than what the rest of the team is working with.

Of course...you can always try to convince them to switch :)

BCunningham
+1  A: 

I used jdee for many years up to a few years ago when I switched to netbeans to be consistent with the development team at a new company. My experience was that it was not particularly hard to set up and it provided many nice features that are found in modern IDEs that you wouldn't have in vanilla emacs: build support, go-to-definition, etc. I still use emacs to make quick edits now and then where jdee is not installed, and I definitely feel its lack. I would never do any reasonable amount of java development in emacs without jdee. You don't need jdee, but it's hard to deny the benefits.

I'll point out, though, that I would never go back to jdee having used netbeans-- the productivity benefits are just too great. For example, I never got integrated debugging to work satisfactorily in jdee. (That could be improved now, of course.) Please note that this is coming from a guy who has used and loved emacs for twenty years and I still always have one or more open. My greatest complaint about netbeans is that its text editing capabilities (even with emacs keybindings) are far inferior to emacs in a number of ways.

Gann Bierner
A: 

Nine or ten years ago I used JDEE when working on a web application that involved EJB. JDEE templates alone saved me hours of time I would have spent typing the same code again and again.

But when I checked last time (a couple of years ago), I had an impression that JDEE was abandoned and did not support numerous new features in Java. I see that 2.4.0 was released this year, and it might be a good sign. Having checked the release notes, I'm not sure about the current version, but the next one may be worth downloading.