--- title: 'Java is a First Class Citizen on Ubuntu Hardy Linux' date: 2008-08-08T18:07:52.000Z draft: false taxonomies: tags: [ "jvm" ] categories: [ "programming", "os"] --- Lately I hear a lot of Java bashing from a very vocal part of the Linux community. I do a lot of Java, I use Linux on my main laptop and I like this just fine. I use daily freemind (Java mindmapper) and openoffice (which is Java enabled). I was doing this for the past years since Windows XP ate my C-drive for the N-th time (and now it did the same on my gaming rig at home, grrr... ). I keep a 'Tools' directory in my home drive and place there the Java tools and libraries I get from the net. Creating a little bash script in *\~/bin* which calls the startup script from the java tools almost always does the right thing, so I was contented. Well, I need to do some LDAP hacking. Last times I did that in perl, python, ruby and Java so it was groovy's turn. On a whim I type : pti@pti-laptop:~/workspace/salesforce$ sudo apt-get install groovy and to my big surprise I get :``` Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: antlr junit4 libasm2-java libbcel-java libbsf-java libclassworlds-java libcommons-cli-java libcommons-collections3-java libcommons-lang-java libcommons-logging-java liblog4j1.2-java libmockobjects-java libmx4j-java libregexp-java libservlet2.3-java libxpp3-java libxstream-java Suggested packages: groovy-doc libbcel-java-doc jython rhino libclassworlds-java-doc libcommons-collections3-java-doc liblogkit-java libavalon-framework-java libgnumail-java Recommended packages: liblog4j1.2-java-gcj The following NEW packages will be installed: antlr groovy junit4 libasm2-java libbcel-java libbsf-java libclassworlds-java libcommons-cli-java libcommons-collections3-java libcommons-lang-java libcommons-logging-java liblog4j1.2-java libmockobjects-java libmx4j-java libregexp-java libservlet2.3-java libxpp3-java libxstream-java 0 upgraded, 18 newly installed, 0 to remove and 0 not upgraded. Need to get 7025kB of archives. After this operation, 14.7MB of additional disk space will be used. Do you want to continue \[Y/n\]? Ok, this was not what I expected... Of course I type 'Y' and let it rip. Now my curiosity take the upper hand and I try some more :``` pti@pti-laptop:~/workspace/salesforce$ sudo apt-get install maven Reading package lists... Done Building dependency tree Reading state information... Done E: Couldn't find package maven Tough luck. But wait, there are 2 mavens, let's try :``` pti@pti-laptop:~/workspace/salesforce$ sudo apt-get install maven2 Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: ant libcommons-codec-java libcommons-collections-java libcommons-httpclient-java libcommons-net-java libcommons-openpgp-java libdoxia-java libganymed-ssh2-java libjdom0-java libjsch-java libjtidy-java liblogkit-java liboro-java libplexus-classworlds-java libplexus-component-api-java libplexus-container-default-java libplexus-interactivity-api-java libplexus-utils-java libplexus-velocity-java libslide-webdavclient-java libwagon-java libwerken.xpath-java velocity Suggested packages: ant-doc libcommons-httpclient-java-doc libcommons-openpgp-java-doc libdoxia-java-doc libjtidy-java-doc libgnumail-java libplexus-classworlds-java-doc libplexus-component-api-java-doc libplexus-container-default-java-doc libplexus-interactivity-api-java-doc libplexus-utils-java-doc libplexus-velocity-java-doc libwagon-java-doc velocity-doc Recommended packages: ant-optional ant-gcj The following NEW packages will be installed: ant libcommons-codec-java libcommons-collections-java libcommons-httpclient-java libcommons-net-java libcommons-openpgp-java libdoxia-java libganymed-ssh2-java libjdom0-java libjsch-java libjtidy-java liblogkit-java liboro-java libplexus-classworlds-java libplexus-component-api-java libplexus-container-default-java libplexus-interactivity-api-java libplexus-utils-java libplexus-velocity-java libslide-webdavclient-java libwagon-java libwerken.xpath-java maven2 velocity 0 upgraded, 24 newly installed, 0 to remove and 0 not upgraded. Need to get 6211kB of archives. After this operation, 25.2MB of additional disk space will be used. Do you want to continue \[Y/n\]? Hmmmmm....... This is better.... There is some refence to ant.. Yep, that too... Jedit, jython, jruby, scala (I did not do LDAP with scala yet...) follow in quick succession... Well, time to fire up synaptic and search for Java. A seemingly endless list of packages appears. App Servers : * glassfish * tomcat (actually I knew that from before) * jetty Dev Tools: * Emma * Junit * Junit4 * JMock * ... A bunch of the commons libraries, ... Half a dozen of jdk's. Java bindings for all the windowing toolkits out there : Gtk, Qt-jambi, ... I also finally found the jdbc driver for postgresql which I was frantically looking for a couple of weeks ago and finally downloaded from the postgres site. There is an old eclipse version, but actually this is a tool which I prefer to live in my Tools directory for updating the plugins. The only thing I did not find was findbugs. Well there is probably a lot more missing, but my inspiration dried up. I could clear out half of my tools folders because they are replaced with ubuntu version. I am now even more contented than I was. I just love to type 'apt-get install ' when I want something, and now I found more of what I want.