Jetty 9 is around the corner. Well, that's not a news, but a well known fact. Another fact is that Fedora distribution has '
First' in its principles, so it is no wonder that Jetty is already
packaged, although still not in a main branch.
As you probably know (maybe from reading this blog), Fedora allows for only one instance of library being installed in the system, and all consumers must use symlinks if they want to consume them. This is also the case of Eclipse. So, if you look at the eclipse installation in the /usr/lib64, you will find:
ls -l eclipse/plugins | grep jetty
-rw-r--r--. 1 root root 21518 Feb 22 16:33 org.eclipse.equinox.http.jetty_3.0.100.v20130222-1445.jar
lrwxrwxrwx. 1 root root 44 Feb 22 16:38 org.eclipse.jetty.continuation_8.1.0.v20120127.jar -> /usr/share/java/jetty/jetty-continuation.jar
lrwxrwxrwx. 1 root root 36 Feb 22 16:38 org.eclipse.jetty.http_8.1.0.v20120127.jar -> /usr/share/java/jetty/jetty-http.jar
lrwxrwxrwx. 1 root root 34 Feb 22 16:38 org.eclipse.jetty.io_8.1.0.v20120127.jar -> /usr/share/java/jetty/jetty-io.jar
lrwxrwxrwx. 1 root root 40 Feb 22 16:38 org.eclipse.jetty.security_8.1.0.v20120127.jar -> /usr/share/java/jetty/jetty-security.jar
lrwxrwxrwx. 1 root root 38 Feb 22 16:38 org.eclipse.jetty.server_8.1.0.v20120127.jar -> /usr/share/java/jetty/jetty-server.jar
lrwxrwxrwx. 1 root root 39 Feb 22 16:38 org.eclipse.jetty.servlet_8.1.0.v20120127.jar -> /usr/share/java/jetty/jetty-servlet.jar
lrwxrwxrwx. 1 root root 36 Feb 22 16:38 org.eclipse.jetty.util_8.1.0.v20120127.jar -> /usr/share/java/jetty/jetty-util.jar
This approach works rather well for many applications, but not necessarily for Eclipse. A simple replacement of Jetty bundles would break Help (I can live without it) and P2 (I can't live without it), so I had to do some
little hacking to rebuild the Eclipse with Jetty 9. It works - and probably in Fedora 19 this will be the default setup.
|
Eclipse Help running in Eclipse with Jetty 9 |
In a normal situation I'd not even mention such a change - because it's kind of my role to prod everyone to migrate to latest software :-). But this case is very special:
Jetty 9 requires java 1.7.
Eclipse community (especially Platform/RT) is rather conservative in adopting new Java versions. Such an approach has a lot of sense, although... maybe some dates first:
- 2001: Eclipse Founded by IBM
- 2002: Java 1.4 released. According to my friend, up to this point it was a perfect language, then they broke it.
- 2004: Eclipse Foundation started
- 2004: Java 1.5 released.
- 2006: Java 6 released.
- 2011: Java 7 released.
- 2013: Java 8 to be released.
Have you noticed the gap between Java 6 and 7? I'd actually dare to say that java 6 was so similar to java 5 that you'd have to count the gap from 2004 to 2011, where Eclipse could just stay one java version behind the main stream.
But things has changed. Java is under heavy development again. Java is being open-sourced. This opens a lot of questions:
- how long will we have to stay with Java 1.4?
- is there any plan of migrations when Java will get frequent releases?
- what to do with features that really require latest Java (f.e. Jetty)?
It's the question that I have been asked during my interview at Red Hat: what do you prefer and why? Frequent adoptions or staying with "stable" versions and then migrating from one "stable" to the next "stable"?
Interesting times indeed.