diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml
index 1d20f7b0f154b4856e79ca8f5d6f104ecbeebbd6..82e855647bba14db11f75440be811e31538c75e2 100644
--- a/apps/i2psnark/java/build.xml
+++ b/apps/i2psnark/java/build.xml
@@ -209,6 +209,8 @@
         <zipfileset src="../../ministreaming/java/build/mstreaming.jar" />
         <zipfileset src="../../streaming/java/build/streaming.jar" />
         <zipfileset src="../../systray/java/build/systray.jar" />
+        <!-- set if unset -->
+        <property name="workspace.changes.tr" value="" />
         <manifest>
             <attribute name="Main-Class" value="org.klomp.snark.standalone.RunStandalone"/>
             <attribute name="Implementation-Version" value="${full.version}" />
@@ -216,6 +218,11 @@
             <attribute name="Build-Date" value="${build.timestamp}" />
             <attribute name="Base-Revision" value="${workspace.version}" />
             <attribute name="Workspace-Changes" value="${workspace.changes.tr}" />
+            <!-- this is so Jetty will report its version correctly -->
+            <section name="org/eclipse/jetty/server/" >
+                <attribute name="Implementation-Vendor" value="Eclipse.org - Jetty" />
+                <attribute name="Implementation-Version" value="8.1.17.v20150415" />
+            </section>
         </manifest>
       </jar>
     </target>
diff --git a/core/java/build.xml b/core/java/build.xml
index 874828b2240e00407d2ccd3f3b3b21ea818d421c..f4337326fd3c0bb37891ccfc44b49cc165c8b29d 100644
--- a/core/java/build.xml
+++ b/core/java/build.xml
@@ -85,7 +85,12 @@
             <!-- the getopt translation files -->
             <fileset dir="src" includes="${translation.includes}" />
             <manifest>
+                <attribute name="Specification-Title" value="I2P Core API" />
+                <attribute name="Specification-Version" value="${release.number}" />
+                <attribute name="Specification-Vendor" value="The I2P Project https://geti2p.net/" />
+                <attribute name="Implementation-Title" value="I2P Java Core API" />
                 <attribute name="Implementation-Version" value="${full.version}" />
+                <attribute name="Implementation-Vendor" value="The I2P Project https://geti2p.net/" />
                 <attribute name="Built-By" value="${build.built-by}" />
                 <attribute name="Build-Date" value="${build.timestamp}" />
                 <attribute name="Base-Revision" value="${workspace.version}" />
diff --git a/router/java/build.xml b/router/java/build.xml
index 2b75b803ca156d26a828bf96d8fac4865e7ec43b..52afc658c4f4c68e82f336697e7a04db6c11b466 100644
--- a/router/java/build.xml
+++ b/router/java/build.xml
@@ -67,7 +67,12 @@
             <manifest>
                 <!-- so people with very old wrapper.config files will still work with Jetty 6 -->
                 <attribute name="Class-Path" value="i2p.jar jetty-i2p.jar jetty-java5-threadpool.jar jetty-rewrite-handler.jar jetty-sslengine.jar jetty-start.jar jetty-util.jar" />
+                <attribute name="Specification-Title" value="I2P Router" />
+                <attribute name="Specification-Version" value="${release.number}" />
+                <attribute name="Specification-Vendor" value="The I2P Project https://geti2p.net/" />
+                <attribute name="Implementation-Title" value="I2P Java Router" />
                 <attribute name="Implementation-Version" value="${full.version}" />
+                <attribute name="Implementation-Vendor" value="The I2P Project https://geti2p.net/" />
                 <attribute name="Built-By" value="${build.built-by}" />
                 <attribute name="Build-Date" value="${build.timestamp}" />
                 <attribute name="Base-Revision" value="${workspace.version}" />