diff --git a/.gitignore b/.gitignore
index 000a95c..855df1d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,10 @@
 *.dll
 *_ReSharper*
 *.opensdf
+*.swp
+.project
+.pydevproject
+.DS_Store
 
 /Makefile
 /Makefile.in
@@ -265,6 +269,4 @@
 /tutorial/py/Makefile
 /tutorial/py/Makefile.in
 /ylwrap
-.project
-.pydevproject
-*.swp
+
diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index 7f66a0b..2985a78 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -354,7 +354,7 @@
   string hash_builder;
   string tree_set_and_map;
   if (gen_hash_code_) {
-    hash_builder = "import org.apache.commons.lang.builder.HashCodeBuilder;\n";
+    hash_builder = "import org.apache.commons.lang3.builder.HashCodeBuilder;\n";
   }
   if (sorted_containers_) {
     tree_set_and_map = string() + 
diff --git a/lib/java/build.properties b/lib/java/build.properties
index 765cb26..f19d485 100644
--- a/lib/java/build.properties
+++ b/lib/java/build.properties
@@ -27,6 +27,6 @@
 httpclient.version=4.2.1
 httpcore.version=4.2.2
 slf4j.version=1.5.8
-commons-lang.version=2.5
+commons-lang3.version=3.1
 servlet.version=2.5
 
diff --git a/lib/java/build.xml b/lib/java/build.xml
index 213d5ce..64995fe 100755
--- a/lib/java/build.xml
+++ b/lib/java/build.xml
@@ -319,7 +319,7 @@
 
       <!-- Thrift dependencies list -->
       <dependency groupId="org.slf4j" artifactId="slf4j-api" version="${slf4j.version}"/>
-      <dependency groupId="commons-lang" artifactId="commons-lang" version="${commons-lang.version}"/>
+      <dependency groupId="org.apache.commons" artifactId="commons-lang3" version="${commons-lang3.version}"/>
       <dependency groupId="javax.servlet" artifactId="servlet-api" version="${servlet.version}" scope="provided"/>
       <dependency groupId="org.apache.httpcomponents" artifactId="httpclient" version="${httpclient.version}"/>
       <dependency groupId="org.apache.httpcomponents" artifactId="httpcore" version="${httpcore.version}"/>
diff --git a/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java b/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java
index d29d60b..081bc48 100644
--- a/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java
+++ b/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java
@@ -18,8 +18,6 @@
  */
 package org.apache.thrift.transport;
 
-import org.apache.commons.lang.NotImplementedException;
-
 /**
  * TTransport for reading from an AutoExpandingBuffer.
  */
@@ -60,7 +58,7 @@
 
   @Override
   public void write(byte[] buf, int off, int len) throws TTransportException {
-    throw new NotImplementedException();
+    throw new UnsupportedOperationException();
   }
 
   @Override
diff --git a/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java b/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java
index 2376cf3..9b35693 100644
--- a/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java
+++ b/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java
@@ -18,8 +18,6 @@
  */
 package org.apache.thrift.transport;
 
-import org.apache.commons.lang.NotImplementedException;
-
 /**
  * TTransport for writing to an AutoExpandingBuffer.
  */
@@ -44,7 +42,7 @@
 
   @Override
   public int read(byte[] buf, int off, int len) throws TTransportException {
-    throw new NotImplementedException();
+    throw new UnsupportedOperationException();
   }
 
   @Override
