Java is a First Class Citizen on Ubuntu Hardy Linux
Categories: programming os
Tags: jvm
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