diff --git a/lib/java/gradle/functionalTests.gradle b/lib/java/gradle/functionalTests.gradle
index f197520..15737f5 100644
--- a/lib/java/gradle/functionalTests.gradle
+++ b/lib/java/gradle/functionalTests.gradle
@@ -30,11 +30,6 @@
 sourceSets {
     crossTest {
         java {
-            srcDir 'test'
-            include '**/test/TestClient.java'
-            include '**/test/TestServer.java'
-            include '**/test/TestNonblockingServer.java'
-            include '**/test/TestTServletServer.java'
         }
     }
 }
@@ -90,9 +85,9 @@
 // The Java executable to use with the runner scripts
 def javaExe = file("${System.getProperty('java.home')}/bin/java${execExt}").canonicalPath
 // The common Uber jar path
-def jarPath = shadowJar.archivePath.canonicalPath
-def trustStore = file('test/resources/.truststore').canonicalPath
-def keyStore = file('test/resources/.keystore').canonicalPath
+def jarPath = shadowJar.archiveFile.get().asFile.canonicalPath
+def trustStore = file("${projectDir}/src/crossTest/resources/.truststore").canonicalPath
+def keyStore = file("${projectDir}/src/crossTest/resources/.keystore").canonicalPath
 
 task generateRunnerScriptForClient(group: 'Build') {
     description = 'Generate a runner script for cross-check tests with TestClient'
diff --git a/lib/java/gradle/generateTestThrift.gradle b/lib/java/gradle/generateTestThrift.gradle
index c48845e..b8a963d 100644
--- a/lib/java/gradle/generateTestThrift.gradle
+++ b/lib/java/gradle/generateTestThrift.gradle
@@ -39,7 +39,7 @@
 ext.thriftCompile = { Task task, String thriftFileName, String generator = 'java', File outputDir = genSrc ->
     def thriftFile = file("$thriftRoot/test/$thriftFileName")
     if (!thriftFile.exists()) {
-        thriftFile = file("$projectDir/test/resources/$thriftFileName")
+        thriftFile = file("$projectDir/src/test/resources/$thriftFileName")
         assert thriftFile.exists(), "can't find $thriftFile"
     }
 
diff --git a/lib/java/gradle/sourceConfiguration.gradle b/lib/java/gradle/sourceConfiguration.gradle
index b45fdc8..827e926 100644
--- a/lib/java/gradle/sourceConfiguration.gradle
+++ b/lib/java/gradle/sourceConfiguration.gradle
@@ -18,31 +18,6 @@
  */
 
 // Following Gradle best practices to keep build logic organized
-
-// ----------------------------------------------------------------------------
-// source sets for main and test sources
-sourceSets {
-    main {
-        java {
-            srcDir 'src'
-        }
-    }
-    test {
-        java {
-            srcDir 'test'
-            // see functionalTests.gradle for these files
-            exclude '**/test/TestClient.java'
-            exclude '**/test/TestServer.java'
-            exclude '**/test/TestNonblockingServer.java'
-            exclude '**/test/TestTServletServer.java'
-        }
-        resources {
-            srcDir 'test/resources'
-            include 'log4j.properties'
-        }
-    }
-}
-
 // ----------------------------------------------------------------------------
 // Compiler configuration details
 
diff --git a/lib/java/gradle/unitTests.gradle b/lib/java/gradle/unitTests.gradle
index 2bf1c03..10a5539 100644
--- a/lib/java/gradle/unitTests.gradle
+++ b/lib/java/gradle/unitTests.gradle
@@ -74,9 +74,9 @@
     systemProperties = [
         'build.test': "${compileTestJava.destinationDir}",
         'test.port': "${testPort}",
-        'javax.net.ssl.trustStore': "${projectDir}/test/resources/.truststore",
+        'javax.net.ssl.trustStore': "${projectDir}/src/crossTest/resources/.truststore",
         'javax.net.ssl.trustStorePassword': 'thrift',
-        'javax.net.ssl.keyStore': "${projectDir}/test/resources/.keystore",
+        'javax.net.ssl.keyStore': "${projectDir}/src/crossTest/resources/.keystore",
         'javax.net.ssl.keyStorePassword': 'thrift'
     ]
 }
