diff --git a/apps/i2ptunnel/java/build.xml b/apps/i2ptunnel/java/build.xml
index 25a5f79c744618006cb054f4331d053162de08f8..c7bd9af9567980f4b04d0ff7542a2fc1c1839654 100644
--- a/apps/i2ptunnel/java/build.xml
+++ b/apps/i2ptunnel/java/build.xml
@@ -25,6 +25,7 @@
         <isfalse value="${require.gettext}" />
     </condition>
 
+    <!-- only used if not set by a higher build.xml -->
     <property name="javac.compilerargs" value="" />
     <property name="javac.version" value="1.6" />
     <property name="require.gettext" value="true" />
@@ -34,7 +35,7 @@
         <mkdir dir="./build/obj" />
         <javac 
             srcdir="./src" 
-            debug="true" deprecation="on" source="1.5" target="1.5" 
+            debug="true" deprecation="on" source="${javac.version}" target="${javac.version}" 
             destdir="./build/obj" 
             includeAntRuntime="false"
             classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" >
@@ -281,7 +282,7 @@
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
         <!-- We need the ant runtime, as it includes junit -->
-        <javac srcdir="./src:./test/junit" debug="true" source="1.5" target="1.5"
+        <javac srcdir="./src:./test/junit" debug="true" source="${javac.version}" target="${javac.version}"
                includeAntRuntime="true"
                deprecation="on" destdir="./build/obj" >
             <compilerarg line="${javac.compilerargs}" />
diff --git a/apps/ministreaming/java/build.xml b/apps/ministreaming/java/build.xml
index 86cf02c262e220e027919f4c29edcf64590fb08b..4d9ebf2bb5675e2f2f1211dd04a3434324371179 100644
--- a/apps/ministreaming/java/build.xml
+++ b/apps/ministreaming/java/build.xml
@@ -20,7 +20,9 @@
         </depend>
     </target>
 
+    <!-- only used if not set by a higher build.xml -->
     <property name="javac.compilerargs" value="" />
+    <property name="javac.version" value="1.6" />
     <property name="require.gettext" value="true" />
 
     <condition property="no.bundle">
@@ -31,7 +33,7 @@
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
         <!-- half of this is deprecated classes so turn deprecation off -->
-        <javac srcdir="./src" debug="true" deprecation="off" source="1.5" target="1.5"
+        <javac srcdir="./src" debug="true" deprecation="off" source="${javac.version}" target="${javac.version}"
                includeAntRuntime="false"
                destdir="./build/obj" classpath="../../../core/java/build/i2p.jar" >
             <compilerarg line="${javac.compilerargs}" />
@@ -43,7 +45,7 @@
 	<mkdir dir="./buildTest/obj" />
         <javac
             srcdir="./test/junit"
-            debug="true" deprecation="on" source="1.5" target="1.5"
+            debug="true" deprecation="on" source="${javac.version}" target="${javac.version}"
             includeAntRuntime="false"
             destdir="./buildTest/obj"
             classpath="../../../core/java/build/i2p.jar:./build/mstreaming.jar" >
diff --git a/apps/streaming/java/build.xml b/apps/streaming/java/build.xml
index abffdc30b355c10b041474a4a1285f0040b1cb92..73cbeb9fa39f8365040f1b347b6b8668a874f373 100644
--- a/apps/streaming/java/build.xml
+++ b/apps/streaming/java/build.xml
@@ -20,13 +20,17 @@
             </classpath>
         </depend>
     </target>
+
+    <!-- only used if not set by a higher build.xml -->
     <property name="javac.compilerargs" value="" />
+    <property name="javac.version" value="1.6" />
+
     <target name="compile" depends="depend">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
         <javac 
             srcdir="./src" 
-            debug="true" deprecation="on" source="1.5" target="1.5" 
+            debug="true" deprecation="on" source="${javac.version}" target="${javac.version}" 
             includeAntRuntime="false"
             destdir="./build/obj" 
             classpath="../../../core/java/build/i2p.jar:../../ministreaming/java/build/mstreaming.jar" >
@@ -51,7 +55,7 @@
  
        <javac 
             srcdir="./test/junit" 
-            debug="true" deprecation="on" source="1.5" target="1.5" 
+            debug="true" deprecation="on" source="${javac.version}" target="${javac.version}" 
             includeAntRuntime="false"
             destdir="./build/obj" >
 	   <classpath>
diff --git a/core/java/build.xml b/core/java/build.xml
index 0d3f10dec898f4bd03c08fce0a31600c56c3a3a8..032d400d92777dbff901e6c85b022af4caa0930d 100644
--- a/core/java/build.xml
+++ b/core/java/build.xml
@@ -15,13 +15,16 @@
             destdir="./build/obj" >
         </depend>
     </target>
+
     <!-- only used if not set by a higher build.xml -->
     <property name="javac.compilerargs" value="" />
     <property name="javac.classpath" value="" />
+    <property name="javac.version" value="1.6" />
+
     <target name="compile" depends="depend">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
-        <javac srcdir="./src" debug="true" source="1.5" target="1.5" deprecation="on"
+        <javac srcdir="./src" debug="true" source="${javac.version}" target="${javac.version}" deprecation="on"
                debuglevel="lines,vars,source"
                includeAntRuntime="false"
                destdir="./build/obj" classpath="${javac.classpath}" >
@@ -103,7 +106,7 @@
         <!-- set hamcrest and junit homes to the old default unless overridden elsewhere -->
         <property name="hamcrest.home" value="${ant.home}/lib/" />
         <property name="junit.home" value="${ant.home}/lib/" />
-        <javac srcdir="./test/junit" debug="true" source="1.5" target="1.5" deprecation="on"
+        <javac srcdir="./test/junit" debug="true" source="${javac.version}" target="${javac.version}" deprecation="on"
                debuglevel="lines,vars,source"
                includeAntRuntime="true"
                destdir="./build/obj" >
diff --git a/installer/java/build.xml b/installer/java/build.xml
index be911236a587fdb5d5e6856c8164bf02c8d5646a..89a4ff6cc05c426aaef0d86fd39c0df14a4412d1 100644
--- a/installer/java/build.xml
+++ b/installer/java/build.xml
@@ -15,13 +15,16 @@
             destdir="./build/obj" >
         </depend>
     </target>
+
     <!-- only used if not set by a higher build.xml -->
     <property name="javac.compilerargs" value="" />
     <property name="javac.classpath" value="" />
+    <property name="javac.version" value="1.6" />
+
     <target name="compile" depends="depend">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
-        <javac srcdir="./src" debug="true" source="1.5" target="1.5" deprecation="on"
+        <javac srcdir="./src" debug="true" source="${javac.version}" target="${javac.version}" deprecation="on"
             includeAntRuntime="false"
             destdir="./build/obj" classpath="${javac.classpath}:../../core/java/build/obj" >
             <compilerarg line="${javac.compilerargs}" />
diff --git a/router/java/build.xml b/router/java/build.xml
index 46ec22e491e2d8515cb0b111befe50a60cf90064..01f7148fdaf4332fdb29ffc2656ae0a3b0c2bd17 100644
--- a/router/java/build.xml
+++ b/router/java/build.xml
@@ -27,12 +27,15 @@
              <targetfilelist dir="." files="build/obj/net/i2p/router/StatisticsManager.class" />
         </dependset>
     </target>
+
     <!-- only used if not set by a higher build.xml -->
     <property name="javac.compilerargs" value="" />
+    <property name="javac.version" value="1.6" />
+
     <target name="compile" depends="depend, dependVersion">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
-        <javac srcdir="./src" debug="true" source="1.5" target="1.5" deprecation="on"
+        <javac srcdir="./src" debug="true" source="${javac.version}" target="${javac.version}" deprecation="on"
                debuglevel="lines,vars,source"
                includeAntRuntime="false"
                destdir="./build/obj" classpath="../../core/java/build/obj:../../core/java/build/i2p.jar" >
@@ -127,7 +130,7 @@
         <!-- set hamcrest and junit homes to the old default unless overridden elsewhere -->
         <property name="hamcrest.home" value="${ant.home}/lib/" />
         <property name="junit.home" value="${ant.home}/lib/" />
-        <javac srcdir="./test/junit" debug="true" source="1.5" target="1.5" deprecation="on"
+        <javac srcdir="./test/junit" debug="true" source="${javac.version}" target="${javac.version}" deprecation="on"
             debuglevel="lines,vars,source"
             includeAntRuntime="true"
             destdir="./build/obj">