Skip to main content

If you use Linux, you should use JPackage

Posted by flozano on December 8, 2005 at 6:37 AM PST

JPackage ( is an Open Source Software project that aims to provide popular Java applications and libraries in a manner that is compatible with Linux standards like the FHS and administrative best practices for the platform. But it goes well beyond simply packaging Java software as RPM packages used by most popular Linux distributions, it also provides ways to deal with conflicting Java VM and third-party library releases. It allows you to have at the same time one app that requires Java 5.0 and other that was certified to run only with 1.4.2 or even 1.3.1. It also allows you to have apps that require for example Hibernate 3.0 and other that works only with Hibernate 2.1 without requiring each app to have its own private copy of Hibernate libraries and their dependencies like Jakarta-commons and C3P0.

Major Linux distributions are already commited to JPackage, like Red Hat and Mandriva, and even Debian is using JPackage conventions and scripts for including F/OSS Java applications like RSSOwl and Eclipse in it's official download feeds.

In order to get a completely managed Java environment, JPackage even tells you how to repackage popular proprietary software like Sun JDK their way. Unfortunately they can't redistribute those packages because of license restrictions.

I manage a few Red Hat Enterprise Linux servers who already comes with JPackage RPMs for IBM JRE. It was very nice to be able to use their dependency information to deploy applications to our internal network and let yum take care of updates. It was also very nice to be able to use the alternatives system (from Debian) to switch the default Java from IBM JRE to GCJ when I was mantaining one app that made use of GCJ CNI. And I had no trouble deploying this update alongside others that required IBM JRE (or Sun JRE). JPackage makes sure each app runs on the JVM it needs.

Bottom line, the fact RHEL4 already uses JPackage made deploying and updating Java apps (both desktop and server-side) to a wide array of users and needs much easier than when I had to manually install, configure and customize Sun JRE and many vendors apps.

But now I need Java 5.0 for a new app and but I do not have it JPackage-enabled. Of course I could follow JPackage web site instructions on how to repackage Sun JRE 5.0 (or the new IBM Java Runtime 1.5.0) but it would be much better if they already provided JPackage-compatible RPMs. After all, I could use this time to do more important things for my employee.

Nothing prevents them to do so. The JPackage guys have already done all the hard work for Sun, IBM, BEA, Apache, JBoss and other Java vendors. Their work was already tested and validated by a number of users and corporations. And all major Java vendors already uses many F/OSS software as part of their products, so a few JPackage scripts should present no problem.

So, please, Java Vendors, make JPackage a standard part of your Linux packaging and support. You'll make your customers very glad.

Related Topics >>