diff --git a/tutorial/java/build.properties b/tutorial/java/build.properties
new file mode 100644
index 0000000..845048c
--- /dev/null
+++ b/tutorial/java/build.properties
@@ -0,0 +1,5 @@
+# Maven Ant tasks Jar details
+mvn.ant.task.version=2.1.3
+mvn.repo=https://repo1.maven.org/maven2
+mvn.ant.task.url=${mvn.repo}/org/apache/maven/maven-ant-tasks/${mvn.ant.task.version}
+mvn.ant.task.jar=maven-ant-tasks-${mvn.ant.task.version}.jar
diff --git a/tutorial/java/build.xml b/tutorial/java/build.xml
index 55cdb8f..3f83776 100644
--- a/tutorial/java/build.xml
+++ b/tutorial/java/build.xml
@@ -16,22 +16,29 @@
  specific language governing permissions and limitations
  under the License.
 -->
-<project name="tutorial" default="tutorial" basedir=".">
+<project name="tutorial" default="tutorial" basedir="."
+  xmlns:artifact="antlib:org.apache.maven.artifact.ant">
 
   <description>Thrift Java Tutorial</description>
 
   <property name="src" location="src" />
   <property name="gen" location="gen-java" />
   <property name="build" location="build" />
+  <property file="${basedir}/build.properties"/>
+
+  <!-- the root directory, where you unpack thrift distibution (e.g.: thrift-0.x.x.tar.gz) -->
+  <property name="thrift.dir" location="../.." />
+  <property name="thrift.java.dir" location="${thrift.dir}/lib/java" />
+  <property name="build.tools.dir" location="${thrift.java.dir}/build/tools/"/>
 
   <path id="libs.classpath">
-    <fileset dir="../../lib/java/build/libs">
+    <fileset dir="${thrift.java.dir}/build/libs">
       <include name="libthrift*.jar" />
       <exclude name="libthrift*test.jar" />
       <exclude name="libthrift*javadoc.jar" />
       <exclude name="libthrift*sources.jar" />
     </fileset>
-    <fileset dir="../../lib/java/build/deps">
+    <fileset dir="${build}/lib">
       <include name="*.jar" />
     </fileset>
   </path>
@@ -47,11 +54,13 @@
 
   <target name="init">
     <tstamp />
+    <mkdir dir="${build.tools.dir}"/>
     <mkdir dir="${build}"/>
     <mkdir dir="${build}/log"/>
+    <mkdir dir="${build}/lib"/>
   </target>
 
-  <target name="compile" depends="init, generate">
+  <target name="compile" depends="init, generate, resolve">
     <javac compiler="modern" includeantruntime="false" srcdir="${gen}" destdir="${build}" classpathref="libs.classpath" />
     <javac compiler="modern" includeantruntime="false" srcdir="${src}" destdir="${build}" classpathref="build.classpath" />
   </target>
@@ -112,4 +121,34 @@
     <delete file="tutorial.jar" />
   </target>
 
+  <target name="mvn.ant.tasks.download" depends="init, mvn.ant.tasks.check" unless="mvn.ant.tasks.found">
+    <get src="${mvn.ant.task.url}/${mvn.ant.task.jar}" dest="${build.tools.dir}/${mvn.ant.task.jar}" usetimestamp="true"/>
+  </target>
+
+  <target name="mvn.ant.tasks.check">
+    <condition property="mvn.ant.tasks.found">
+      <typefound uri="antlib:org.apache.maven.artifact.ant" name="artifact"/>
+    </condition>
+  </target>
+
+  <target name="resolve" depends="mvn.ant.tasks.download" unless="mvn.finished">
+    <typedef uri="antlib:org.apache.maven.artifact.ant" classpath="${thrift.java.dir}/build/tools/${mvn.ant.task.jar}"/>
+
+    <artifact:dependencies filesetId="tutorial.dependency.jars">
+      <dependency groupId="org.apache.httpcomponents" artifactId="httpclient" version="4.0.1"/>
+      <dependency groupId="com.googlecode.jslint4java" artifactId="jslint4java-ant" version="1.4.6"/>
+      <dependency groupId="eu.medsea.mimeutil" artifactId="mime-util" version="2.1.3"/>
+      <dependency groupId="javax.annotation" artifactId="javax.annotation-api" version="1.3.2"/>
+      <remoteRepository url="${mvn.repo}"/>
+    </artifact:dependencies>
+
+    <!-- Copy the dependencies to the build/lib dir -->
+    <copy todir="${build}/lib">
+      <fileset refid="tutorial.dependency.jars"/>
+      <mapper type="flatten"/>
+    </copy>
+
+    <property name="mvn.finished" value="true"/>
+  </target>
+
 </project>
diff --git a/tutorial/java/src/JavaClient.java b/tutorial/java/src/JavaClient.java
index 2e35d41..bd0a155 100644
--- a/tutorial/java/src/JavaClient.java
+++ b/tutorial/java/src/JavaClient.java
@@ -47,11 +47,11 @@
         /*
          * Similar to the server, you can use the parameters to setup client parameters or
          * use the default settings. On the client side, you will need a TrustStore which
-         * contains the trusted certificate along with the public key. 
-         * For this example it's a self-signed cert. 
+         * contains the trusted certificate along with the public key.
+         * For this example it's a self-signed cert.
          */
         TSSLTransportParameters params = new TSSLTransportParameters();
-        params.setTrustStore("../../lib/java/test/.truststore", "thrift", "SunX509", "JKS");
+        params.setTrustStore("../../lib/java/test/resources/.truststore", "thrift", "SunX509", "JKS");
         /*
          * Get a client transport instead of a server transport. The connection is opened on
          * invocation of the factory method, no need to specifically call open()
@@ -67,7 +67,7 @@
       transport.close();
     } catch (TException x) {
       x.printStackTrace();
-    } 
+    }
   }
 
   private static void perform(Calculator.Client client) throws TException
diff --git a/tutorial/java/src/JavaServer.java b/tutorial/java/src/JavaServer.java
index 788473a..026889d 100644
--- a/tutorial/java/src/JavaServer.java
+++ b/tutorial/java/src/JavaServer.java
@@ -47,7 +47,7 @@
         public void run() {
           simple(processor);
         }
-      };      
+      };
       Runnable secure = new Runnable() {
         public void run() {
           secure(processor);
@@ -81,19 +81,19 @@
       /*
        * Use TSSLTransportParameters to setup the required SSL parameters. In this example
        * we are setting the keystore and the keystore password. Other things like algorithms,
-       * cipher suites, client auth etc can be set. 
+       * cipher suites, client auth etc can be set.
        */
       TSSLTransportParameters params = new TSSLTransportParameters();
       // The Keystore contains the private key
-      params.setKeyStore("../../lib/java/test/.keystore", "thrift", null, null);
+      params.setKeyStore("../../lib/java/test/resources/.keystore", "thrift", null, null);
 
       /*
        * Use any of the TSSLTransportFactory to get a server transport with the appropriate
        * SSL configuration. You can use the default settings if properties are set in the command line.
        * Ex: -Djavax.net.ssl.keyStore=.keystore and -Djavax.net.ssl.keyStorePassword=thrift
-       * 
+       *
        * Note: You need not explicitly call open(). The underlying server socket is bound on return
-       * from the factory class. 
+       * from the factory class.
        */
       TServerTransport serverTransport = TSSLTransportFactory.getServerSocket(9091, 0, null, params);
       TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
diff --git a/tutorial/js/build.properties b/tutorial/js/build.properties
new file mode 100644
index 0000000..845048c
--- /dev/null
+++ b/tutorial/js/build.properties
@@ -0,0 +1,5 @@
+# Maven Ant tasks Jar details
+mvn.ant.task.version=2.1.3
+mvn.repo=https://repo1.maven.org/maven2
+mvn.ant.task.url=${mvn.repo}/org/apache/maven/maven-ant-tasks/${mvn.ant.task.version}
+mvn.ant.task.jar=maven-ant-tasks-${mvn.ant.task.version}.jar
diff --git a/tutorial/js/build.xml b/tutorial/js/build.xml
index 03a6e7c..fc9fbdf 100644
--- a/tutorial/js/build.xml
+++ b/tutorial/js/build.xml
@@ -16,7 +16,8 @@
  specific language governing permissions and limitations
  under the License.
 -->
-<project name="tutorial" default="test" basedir=".">
+<project name="tutorial" default="test" basedir="."
+  xmlns:artifact="antlib:org.apache.maven.artifact.ant">
 
   <description>Thrift JavaScript Tutorial</description>
 
@@ -24,11 +25,13 @@
   <property name="javasrc" location="../java/src" />
   <property name="gen" location="../java/gen-java" />
   <property name="build" location="build" />
+  <property file="${basedir}/build.properties"/>
 
   <!-- the root directory, where you unpack thrift distibution (e.g. thrift-0.x.x.tar.gz) -->
   <property name="thrift.dir" location="../../" />
   <!-- JavaScript tutorial depends on the java tutorial thrift handler and server infrastructure -->
   <property name="thrift.java.dir" location="${thrift.dir}/lib/java" />
+  <property name="build.tools.dir" location="${thrift.java.dir}/build/tools/"/>
 
   <path id="libs.classpath">
     <fileset dir="${thrift.java.dir}/build/libs">
@@ -37,7 +40,7 @@
       <exclude name="libthrift*javadoc.jar" />
       <exclude name="libthrift*sources.jar" />
     </fileset>
-    <fileset dir="${thrift.java.dir}/build/deps">
+    <fileset dir="${build}/lib">
       <include name="*.jar" />
     </fileset>
   </path>
@@ -50,9 +53,10 @@
   <target name="init">
     <tstamp />
     <mkdir dir="${build}"/>
+    <mkdir dir="${build}/lib"/>
   </target>
 
-  <target name="compile" depends="init">
+  <target name="compile" depends="init, resolve">
     <javac compiler="modern" includeantruntime="false" srcdir="${gen}" destdir="${build}" classpathref="libs.classpath" />
     <javac compiler="modern" includeantruntime="false" srcdir="${javasrc}" destdir="${build}" classpathref="build.classpath">
       <exclude name="JavaClient.java"/>
@@ -89,4 +93,35 @@
     <delete file="tutorial-js.jar" />
   </target>
 
+  <target name="mvn.ant.tasks.download" depends="init, mvn.ant.tasks.check" unless="mvn.ant.tasks.found">
+    <get src="${mvn.ant.task.url}/${mvn.ant.task.jar}" dest="${build.tools.dir}/${mvn.ant.task.jar}" usetimestamp="true"/>
+  </target>
+
+  <target name="mvn.ant.tasks.check">
+    <condition property="mvn.ant.tasks.found">
+      <typefound uri="antlib:org.apache.maven.artifact.ant" name="artifact"/>
+    </condition>
+  </target>
+
+  <target name="resolve" depends="mvn.ant.tasks.download" unless="mvn.finished">
+    <typedef uri="antlib:org.apache.maven.artifact.ant" classpath="${thrift.java.dir}/build/tools/${mvn.ant.task.jar}"/>
+
+    <artifact:dependencies filesetId="tutorial.dependency.jars">
+      <dependency groupId="org.apache.httpcomponents" artifactId="httpclient" version="4.0.1"/>
+      <dependency groupId="com.googlecode.jslint4java" artifactId="jslint4java-ant" version="1.4.6"/>
+      <dependency groupId="eu.medsea.mimeutil" artifactId="mime-util" version="2.1.3"/>
+      <dependency groupId="javax.annotation" artifactId="javax.annotation-api" version="1.3.2"/>
+      <dependency groupId="org.slf4j" artifactId="slf4j-api" version="1.7.5"/>
+      <remoteRepository url="${mvn.repo}"/>
+    </artifact:dependencies>
+
+    <!-- Copy the dependencies to the build/lib dir -->
+    <copy todir="${build}/lib">
+      <fileset refid="tutorial.dependency.jars"/>
+      <mapper type="flatten"/>
+    </copy>
+
+    <property name="mvn.finished" value="true"/>
+  </target>
+
 </project>
