Oct 06
An updated version of Necessitas is now available. Necessitas is an Eclipse plug-in that adds a class-path container to manage a projects jars using the ivy dependency manager. You get the advantages of ivy without leaving eclipse.
Key features for this release:
- Start-up time greatly reduced (especially for poor bastards like me on a modem
- Update to Ivy 1.2a
- Takes advantage of the new “cache only” operations in 1.2a
- Will attempt to assign source achieves if they are available
- You can check for updated dependencies without downloading them
- Ivy messages are available while updating
- Lots of internal cleanup
It can be downloaded from the usual location (http://eclipse.oneill.id.au/updates/).
Jul 07
In response to a number of queries I’ve created a mailing list for necessitas. This should make it easier to ask questions, request features etc.
You can subscribe via mailman at http://oneill.id.au/mailman/listinfo/necessitas-dev_oneill.id.au
Jun 27
0.3.1 is a minor update that corrects a problem with the embedded ivy library (for some reason it had a jdk 1.5 class file, probably my fault). The plugin also packages jakarta commons httpclient rather than relying on the default URL handler in the JRE.
There were reports of problems using the update site for 0.3.0 (it didn’t seem to replace the old version properly). I’ve upgraded a couple of machines from 0.3.0 to 0.3.1 and they’ve both picked up the new version correctly. If anyone does have a problem please let me know.
Jun 25
An updated version of Necessitas (0.3.0) is now available.
Changes (in no particular order):
- updates the the core ivy implementation to 1.1
- allows you to specify (using a comma seperated list) the configurations to use (* or all will be used by default).
- will detect a local
ivyconf.xml at the project root and use it instead of the default provided by ivy
- if update on change is selected the classpath will be recalculated if the ivyconf.xml is changed
Note: Ivy 1.1 checks the internet for property updates when it starts up. This may lead to slow eclipse startup times. There is a patch to stop this but I didn’t want to release against a unstable build of ivy. Once a stable version is available I’ll release a quick update.
You can download the latest version via the eclipse update manager from http://eclipse.oneill.id.au/updates/
Jun 17
JSR 277: Java Module System proposes to end “JAR hell”. The plan is to replace the current JAR/WAR/EAR system with something that supports versioning, metadata and dependency specification. It draws on what has been learned from technologies such as .NET Assemblies, OSGI, Eclipse and Netbeans.
The JSR is attempting to create a reliable mechanism for expressing, resolving, and enforcing the dependency of one module upon another. It’s goals are admirable, JAR hell has been a pain in the side of anyone who has had to deal with application servers that expose classes from versions of jars (for no good reason other than plan dumb ass lazyness) that aren’t compatible with your module. So JSR 277 aims to help us by:
- Adding explicit versioning of both the module and it’s dependency declarations
- Providing a repository for storing and retrieving modules on the machine with versioning and name space isolation support (it’s unclear if they mean on the current machine are something more global)
- Adding runtime support in the application launcher and class loaders for the discovery, loading, and integrity checking of modules.
- Allowing you restrict what is exposed to other modules by your module.
It all sounds great, the proof will be in the pudding though and I’ll be keeping a close eye on this one. Unfortunately we wont be seeing it in our applications until around 2007. For now at least we have ivy for build time dependency management.
Jun 06
The first public release of Necessitas is now available.
Necessitas is an Eclipse plug-in that adds a class-path container to manage a projects jars using the ivy dependency manager. In short it gives you many of the advantages of ivy without leaving eclipse.
What it does now
- Downloads the declared dependencies to the ivy cache
- Adds the downloaded jars to your class-path
- Can be configured to update the jars each time the
ivy.xml file is updated
Still to come
- The ability to specify an ivy config file to use
- The ability to specify the module configuration to use
- Maybe, the ability to automatically download and associate source files
I’ve found a couple of issues in the way that ivy exposes information about what is in the cache, what it needs to download etc. None of these are irresolvable they will just take some time and co-operation with the ivy crew (who are very responsive)

You can download it via the eclipse update manager from http://eclipse.oneill.id.au/updates/
Recent Comments