What Happened To My IDEA Classpath?

by Brian M. Coyner

Related link: http://www.intellij.net/eap

Creating IDEA Projects Just Got Harder

Last night I decided to play around with Java generics. The easiest way to learn, in my opinion, is with a good editor that quickly highlights syntax errors. Of course, I am talking about IDEA. Currently, only the early access version (build 876 at the time of this writing) supports generics. So I downloaded this version and started getting ready to code my heart out. But something happened...

Where Is The Classpath?

Okay, I have long been an advocate of IDEA, and let's face it, it is the best IDE out there. I am sure we all have our favorite IDEA features, but I would like to point out one in particular: the simplicity of creating a project. I can setup a project in a matter of minutes (as long as I know where everything is at). When setting up a project IDEA uses terms like:

  • Project

  • Sourcepath

  • Classpath

All Java developers know what goes on the classpath (or at least they should). Most developers can quickly figure out what the sourcepath is for. Even the project path is self-explanatory. So what is my point you ask? Well the folks at IDEA changed how a project is created and maintained. Now we have terms like:

  • Contents

  • Libraries

  • Add Classes

  • Attach Classes

  • Add Named Library

  • Add Global Library

  • Add Project Library

Things were a lot simpler when I just had a classpath. I am also really curious on the difference between Add Classes and Attach Classes. They sound similar, don't they? I guess I could read their documentation to find out, but remember before I was just dealing with the classpath. I guess that Add Classes adds new files to the classpath, and perhaps Attach Classes attaches classes to, well, uh... I don't know.

What Can The IntelliJ Folks Do?

I enjoy providing suggestions when ranting. My suggestion to the IDEA folks is to give us a simple way to create a project. I want a classpath, sourcepath, and project path. I want to code, not think about how to elegantly setup an environment in an IDE. I'll use Ant to create a pristine development environment. I want IDEA to let me code.

I must end on a positive note. IDEA still rocks! The new features that are in the latest build are really slick. The UI is very responsive, too, despite the occasional error dialog. I still recommend IDEA to all Java developers. Of course, the price has gone up considerably. I just hope I am able to afford the upgrade for the next release. Perhaps they'll give me a discount. ;-)


2003-08-04 13:16:19
The Libraries feature lets you share common code among many or all of your Projects.

For example, say I use Struts in most of the projects I'm working on. Instead of defining a CLASSPATH, Source Path and Javadoc Path for Struts in each project I set up, I simply define it as a library. I can then choose to include the library as part of my project.

I keep a copy of struts.jar in a common directory, and have each project's build script take a copy of it when building.

(The only problem I've found with this is if you're dealing with multiple versions of the same library. You must make sure that each build script copies the correct version of the library it needs.)

On the other hand, it keeps the number of JAR files way down, since you don't need a separate source JAR for every project.

I know some developers who never use the Library feature. IDEA makes it so easy to set up libaries as part of the CLASSPATH that they don't bother.

2003-08-06 07:44:31
another IDE to work with generics
if you look for something leaner and more concentrated on maximum quality of code writing check Code Guide 7 (aka Sapphire) that supports
generics and other JDK 1.5 additions such as foreach, enums, autoboxing and does it very well IMHO!

One nice feature is that it can generate .class
files that does not require gt*.jar runtime
support to work in current JDKs.

Higly recommended, trial version is avialble from:


2003-08-06 07:52:37
managing CLASSPATH in IDE
i have hit submit too fast and it seem there is no preview or any way to edit comments i add this:

i agree that staying close to underlying technology such JVM CLASSPATH is right
thing to do - helps to avoid Leaky Abstractions.

i need also to add that Code Guide supports
standard CLASSPATH, SourcePath,JARs list of variables so switching from IDEA is very simple ...


2003-09-09 11:57:11
Pricing on IDEA
An IDEA representative had wrote me in an email they were considering a lower-cost purchase option for single users. I think it's a fantastic IDEA. But it's simply too expensive to buy for my own personal use at home. So I'm stuck with the slow and clunky SunOne.