diff --git a/bindings/java/build-unix.xml b/bindings/java/build-unix.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c9a4c7f872c21d12db55ba08b0aebba8cf46ee4f
--- /dev/null
+++ b/bindings/java/build-unix.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="windows-1252"?>
+<project name="TSKTestTargets">
+	<target name="test1" 
+			description="Traverses the Images stored in the path represented by test-input variable, creates results files stored in the path represented by test-results, and compares them to the standards stored in the path represented by the test-standards variable, always run test-create-standards at least once before before running test."
+			depends="compile-test" >
+		<fail unless="ewfFound" message="LIBEWF_HOME must be set as an environment variable."/>
+		<junit fork="on" haltonfailure="yes" dir=".">
+			<sysproperty key="rslt" value="${test-results}"/>
+			<sysproperty key="gold" value="${test-standards}"/>
+			<sysproperty key="inpt" value="${test-input}"/>
+			<classpath refid="libraries" />
+			<formatter type="plain" usefile="false" />
+			<test name="org.sleuthkit.datamodel.DataModelTestSuite" />
+		</junit>
+	</target>
+	<target name="test-create-standards1"
+			description="Traverses the Images stored in the path represented by test-input variable and creates then stores them to the path represented by the test-standards variable, run test-download-imgs at least once before this."
+			depends="compile-test" >
+		<fail unless="ewfFound" message="LIBEWF_HOME must be set as an environment variable."/>
+		<java classname="org.sleuthkit.datamodel.DataModelTestSuite" classpathref="libraries"	fork="true" failonerror="true">
+			<sysproperty key="gold" value="${test-standards}"/>
+			<sysproperty key="inpt" value="${test-input}"/>
+			<sysproperty key="types" value="${test-types}"/>
+		</java>
+	</target>
+</project>
\ No newline at end of file
diff --git a/bindings/java/build-windows.xml b/bindings/java/build-windows.xml
new file mode 100644
index 0000000000000000000000000000000000000000..66b219dada5db0e001c63750eac5d4b7638cb8d5
--- /dev/null
+++ b/bindings/java/build-windows.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="windows-1252"?>
+<project name="TSKTestTargets">
+    <property name="dlls" value="${env.LIBEWF_HOME}/msvscpp/zlib;${env.LIBEWF_HOME}/msvscpp/Release;../../win32/Release"/>
+	<target name="test1" 
+			description="Traverses the Images stored in the path represented by test-input variable, creates results files stored in the path represented by test-results, and compares them to the standards stored in the path represented by the test-standards variable, always run test-create-standards at least once before before running test."
+			depends="compile-test" >
+		<fail unless="ewfFound" message="LIBEWF_HOME must be set as an environment variable."/>
+		<junit fork="on" haltonfailure="yes" dir=".">
+			<sysproperty key="java.library.path" value="${dlls}"/>	
+			<sysproperty key="rslt" value="${test-results}"/>
+			<sysproperty key="gold" value="${test-standards}"/>
+			<sysproperty key="inpt" value="${test-input}"/>
+			<classpath refid="libraries" />
+			<formatter type="plain" usefile="false" />
+			<test name="org.sleuthkit.datamodel.DataModelTestSuite" />
+		</junit>
+	</target>
+	<target name="test-create-standards1"
+			description="Traverses the Images stored in the path represented by test-input variable and creates then stores them to the path represented by the test-standards variable, run test-download-imgs at least once before this."
+			depends="compile-test" >
+		<fail unless="ewfFound" message="LIBEWF_HOME must be set as an environment variable."/>
+		<java classname="org.sleuthkit.datamodel.DataModelTestSuite" classpathref="libraries"	fork="true" failonerror="true">
+			<sysproperty key="java.library.path" value="${dlls}"/>	
+			<sysproperty key="gold" value="${test-standards}"/>
+			<sysproperty key="inpt" value="${test-input}"/>
+			<sysproperty key="types" value="${test-types}"/>
+		</java>
+	</target>
+</project>
diff --git a/bindings/java/build.xml b/bindings/java/build.xml
index c192c0ed1f1aa12e54fd0e5a71740fd2cb6c1fe9..f22a31ec0b26ac7ed7bac75b5657642bf37f4213 100755
--- a/bindings/java/build.xml
+++ b/bindings/java/build.xml
@@ -2,8 +2,13 @@
 	<description>
         Sleuthkit Java DataModel 
 	</description>
-
-
+    <condition property="os.family" value="unix">  
+        <os family="unix"/>  
+    </condition>  
+    <condition property="os.family" value="windows">  
+        <os family="windows"/>  
+    </condition>  
+    <import file="build-${os.family}.xml"/> 
   <!-- some dlls come from LIBEWF_HOME -->
 	<property environment="env"/>
 	<condition property="ewfFound">
@@ -23,9 +28,12 @@
 	<property name="test-results" location="test/output/results"/>
 	<property name="test-input" location="test/input"/>
 	<property name="test-types" location="test/org/sleuthkit/datamodel"/>
-    <condition property="dlls" value="${env.LIBEWF_HOME}/msvscpp/zlib;${env.LIBEWF_HOME}/msvscpp/Release;../../win32/Release">  
-        <os family="windows"/>  
-    </condition>
+	<condition property="fam" value="windows">
+		<os family="windows"/> 
+	</condition>
+	<condition property="fam" value="unix">
+		<os family="unix"/> 
+	</condition>
   
 	<path id="libraries">
 		<fileset dir="${lib}">
@@ -86,33 +94,6 @@ pattern="lib/[artifact]-[revision](-[classifier]).[ext]" />
 		</javac>
 	</target>
   
-	<target name="test-create-standards"
-			description="Traverses the Images stored in the path represented by test-input variable and creates then stores them to the path represented by the test-standards variable, run test-download-imgs at least once before this."
-			depends="compile-test" >
-		<fail unless="ewfFound" message="LIBEWF_HOME must be set as an environment variable."/>
-		<java classname="org.sleuthkit.datamodel.DataModelTestSuite" classpathref="libraries"	fork="true" failonerror="true">
-			<sysproperty key="java.library.path" value="${dlls}"/>
-			<sysproperty key="gold" value="${test-standards}"/>
-			<sysproperty key="inpt" value="${test-input}"/>
-			<sysproperty key="types" value="${test-types}"/>
-		</java>
-	</target>
-  
-	<target name="test" 
-			description="Traverses the Images stored in the path represented by test-input variable, creates results files stored in the path represented by test-results, and compares them to the standards stored in the path represented by the test-standards variable, always run test-create-standards at least once before before running test."
-			depends="compile-test" >
-		<fail unless="ewfFound" message="LIBEWF_HOME must be set as an environment variable."/>
-		<junit fork="on" haltonfailure="yes" dir=".">
-			<sysproperty key="java.library.path" value="${dlls}"/>
-			<sysproperty key="rslt" value="${test-results}"/>
-			<sysproperty key="gold" value="${test-standards}"/>
-			<sysproperty key="inpt" value="${test-input}"/>
-			<classpath refid="libraries" />
-			<formatter type="plain" usefile="false" />
-			<test name="org.sleuthkit.datamodel.DataModelTestSuite" />
-		</junit>
-	</target>
- 
 	<target name="compile" depends="init, retrieve-deps"
         description="compile the source" >
     <!-- Compile the java code from ${src} into ${build} -->
@@ -150,4 +131,12 @@ pattern="lib/[artifact]-[revision](-[classifier]).[ext]" />
 		<get src="http://digitalcorpora.org/corp/nps/drives/nps-2009-canon2/nps-2009-canon2-gen5.raw" dest="${test-input}"/>
 		<get src="http://digitalcorpora.org/corp/nps/drives/nps-2009-ntfs1/ntfs1-gen2.raw" dest="${test-input}"/>
 	</target>
+		<target name="test" 
+			description="Traverses the Images stored in the path represented by test-input variable, creates results files stored in the path represented by test-results, and compares them to the standards stored in the path represented by the test-standards variable, always run test-create-standards at least once before before running test."
+			depends="compile-test, test1" >
+	</target>
+	<target name="test-create-standards"
+			description="Traverses the Images stored in the path represented by test-input variable and creates then stores them to the path represented by the test-standards variable, run test-download-imgs at least once before this."
+			depends="compile-test, test-create-standards1" >
+	</target>
 </project>