diff --git a/pkgs/development/tools/java/jclasslib/builder.sh b/pkgs/development/tools/java/jclasslib/builder.sh
index e130845e3d2..1f6bdc6cfb1 100755
--- a/pkgs/development/tools/java/jclasslib/builder.sh
+++ b/pkgs/development/tools/java/jclasslib/builder.sh
@@ -1,9 +1,16 @@
 . $stdenv/setup || exit 1
 
 tar zxf $src || exit 1
-mkdir -p $out/bin
-mv jclasslib/bin/jclasslib.jar $out/bin/ || exit 1
+cd jclasslib || exit 1
 
+xpf-rm -i build.xml "//taskdef" > build.new
+mv build.new build.xml
+
+ant clean || exit 1
+ant jar || exit 1
+
+mkdir -p $out/bin
+mv build/jclasslib.jar $out/bin/ || exit 1
 
 cat >> $out/bin/jclasslib <<EOF
 #! /bin/sh
diff --git a/pkgs/development/tools/java/jclasslib/default.nix b/pkgs/development/tools/java/jclasslib/default.nix
index 85359971c7d..9aa08d2ce69 100644
--- a/pkgs/development/tools/java/jclasslib/default.nix
+++ b/pkgs/development/tools/java/jclasslib/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, j2re}:
+{stdenv, fetchurl, xpf, j2re, ant}:
 
 stdenv.mkDerivation {
   name = "jclasslib-2.0";
@@ -8,5 +8,6 @@ stdenv.mkDerivation {
     md5 = "31d91bb03fee23410689d2f1c4c439b1";
   };
 
-  inherit j2re;
+  inherit j2re xpf ant;
+  buildInputs = [xpf ant];
 }
diff --git a/pkgs/system/all-packages-generic.nix b/pkgs/system/all-packages-generic.nix
index ce0d3f6ea08..59af7a58d15 100644
--- a/pkgs/system/all-packages-generic.nix
+++ b/pkgs/system/all-packages-generic.nix
@@ -311,8 +311,9 @@ rec {
   };
 
   jclasslib = (import ../development/tools/java/jclasslib) {
-    inherit fetchurl stdenv;
+    inherit fetchurl stdenv xpf;
     j2re = j2sdk15;
+    ant = apacheant14.body;
   };
 
   ocaml = (import ../development/compilers/ocaml) {