diff --git a/testapps/javaProjectTest/javaProject/.classpath b/testapps/javaProjectTest/javaProject/.classpath
index 139d9a3..fef3993 100644
--- a/testapps/javaProjectTest/javaProject/.classpath
+++ b/testapps/javaProjectTest/javaProject/.classpath
@@ -2,6 +2,6 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="lib" path="libs/basicJar.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/javaProjectTest-javaProject2"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/testapps/javaProjectTest/javaProject/.project b/testapps/javaProjectTest/javaProject/.project
index 225e486..8d99b08 100644
--- a/testapps/javaProjectTest/javaProject/.project
+++ b/testapps/javaProjectTest/javaProject/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>javaProject</name>
+	<name>javaProjectTest-javaProject</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/testapps/javaProjectTest/javaProject/libs/basicJar.jar b/testapps/javaProjectTest/javaProject/libs/basicJar.jar
deleted file mode 100644
index 0b9c60c..0000000
--- a/testapps/javaProjectTest/javaProject/libs/basicJar.jar
+++ /dev/null
Binary files differ
diff --git a/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/Foo.java b/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/Foo.java
deleted file mode 100644
index 4a7d31c..0000000
--- a/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/Foo.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.android.tests.basicJavaProject;
-
-import java.util.Random;
-
-public class Foo {
-    public static int FOO = 42;
-
-    public int getFoo() {
-        return FOO;
-    }
-
-    public int getRandomFoo() {
-        Random r = new Random(System.currentTimeMillis());
-        return r.nextInt(FOO);
-    }
-}
diff --git a/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/foo.txt b/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/foo.txt
deleted file mode 100644
index 1c33723..0000000
--- a/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/foo.txt
+++ /dev/null
@@ -1 +0,0 @@
-blah blah
\ No newline at end of file
diff --git a/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.java b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.java
new file mode 100644
index 0000000..4f40648
--- /dev/null
+++ b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.java
@@ -0,0 +1,30 @@
+package com.android.tests.javaprojecttest.javaproject;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+public class JavaProject {
+
+    public static String getContent() {
+        InputStream input = JavaProject.class.getResourceAsStream("JavaProject.txt");
+
+        BufferedReader reader = null;
+        try {
+            reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
+
+            return reader.readLine();
+        } catch (IOException e) {
+        } finally {
+            if (reader != null) {
+                try {
+                    reader.close();
+                } catch (IOException e) {
+                }
+            }
+        }
+        
+        return "FAILED TO READ CONTENT";
+    }
+}
diff --git a/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.txt b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.txt
new file mode 100644
index 0000000..5742eaa
--- /dev/null
+++ b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.txt
@@ -0,0 +1 @@
+SUCCESS from javaProject
\ No newline at end of file
