Debian Java Newshttp://java.debian.net/blog/2019-01-31T14:00:00+01:00Help the Java Team distribute your project!2019-01-31T14:00:00+01:002019-01-31T14:00:00+01:00Hans-Christoph Steinertag:java.debian.net,2019-01-31:/blog/2019/01/help-the-java-team-distribute-your-project.html<p>There is a vast array of great free software projects written in Java.
All sorts of large systems that we all rely on every day are built
upon the <a href="https://projects.apache.org">Apache Foundation libraries</a>.
Large companies like <a href="https://github.com/google/guava">Google</a> and
<a href="https://developer.ibm.com/articles/cl-open-architecture-update/">IBM</a>
put out standard libraries that so many other projects use.
Unfortunately, the standard practice for distributing Java code makes
it a lot of work to integrate them into Debian.</p>
<p>The Debian Java Team's work is generally under-appreciated, so we are
getting the word out here. The Java Team has to consistently fight the
Java standard practice of bundling all deps into a single JAR. This
means there is no shared security updates, each dev has to update
every dependency themselves in that model. That works great for large
companies with staff devoted to doing that.</p>
<p>For the majority of Debian use cases, that works poorly. Debian
delivers on the promise that people can just <code>apt install foo</code> and
have it work, and receive security updates. The user does not even
need to know what language the program is written in, it just works.</p>
<p>The Java developer community need to embrace the value of these use
cases, and help Debian by making it easier to package Java projects in
the standard distro method, with shared dependencies that are
independently updated.</p>
<p>Python and Ruby provide great examples of more flexible standard
practice for shipping software. Both have methods of describing the
dependencies needed, and then automatically fetching them. They are
designed in a way that is quite easy to hook into the native build
system and make Debian packages. That is sadly not the case with
<em>Gradle</em> and <em>Maven</em>, the most popular build systems for Java. For
those, the Java Team usually has to extensively patch the build system
to make it work for the Debian package.</p><p>There is a vast array of great free software projects written in Java.
All sorts of large systems that we all rely on every day are built
upon the <a href="https://projects.apache.org">Apache Foundation libraries</a>.
Large companies like <a href="https://github.com/google/guava">Google</a> and
<a href="https://developer.ibm.com/articles/cl-open-architecture-update/">IBM</a>
put out standard libraries that so many other projects use.
Unfortunately, the standard practice for distributing Java code makes
it a lot of work to integrate them into Debian.</p>
<p>The Debian Java Team's work is generally under-appreciated, so we are
getting the word out here. The Java Team has to consistently fight the
Java standard practice of bundling all deps into a single JAR. This
means there is no shared security updates, each dev has to update
every dependency themselves in that model. That works great for large
companies with staff devoted to doing that.</p>
<p>For the majority of Debian use cases, that works poorly. Debian
delivers on the promise that people can just <code>apt install foo</code> and
have it work, and receive security updates. The user does not even
need to know what language the program is written in, it just works.</p>
<p>The Java developer community need to embrace the value of these use
cases, and help Debian by making it easier to package Java projects in
the standard distro method, with shared dependencies that are
independently updated.</p>
<p>Python and Ruby provide great examples of more flexible standard
practice for shipping software. Both have methods of describing the
dependencies needed, and then automatically fetching them. They are
designed in a way that is quite easy to hook into the native build
system and make Debian packages. That is sadly not the case with
<em>Gradle</em> and <em>Maven</em>, the most popular build systems for Java. For
those, the Java Team usually has to extensively patch the build system
to make it work for the Debian package.</p>Wheezy LTS and the switch to OpenJDK 72016-06-19T00:00:00+02:002016-06-19T00:00:00+02:00Markus Koschanytag:java.debian.net,2016-06-19:/blog/2016/06/wheezy-lts-and-the-switch-to-openjdk-7.html<p>Wheezy's LTS period started a few weeks ago and the LTS team had to make an
early support decision concerning the Java eco-system since Wheezy ships two Java
runtime environments <a href="https://tracker.debian.org/pkg/openjdk-6">OpenJDK 6</a> and
<a href="https://tracker.debian.org/pkg/openjdk-7">OpenJDK 7</a>. (To be fair, there are
actually three but <a href="https://packages.debian.org/oldstable/gcj-4.6-jre">gcj</a> has
been superseded by OpenJDK a long time ago and the latter should be preferred
whenever possible.)</p>
<p>OpenJDK 6 is currently maintained by Red Hat and we mostly rely on their
upstream work as well as on package updates from Debian's maintainer Matthias Klose and
Tiago Stürmer Daitx from Ubuntu. We already knew that both intend
to support OpenJDK 6 until April 2017 when Ubuntu 12.04 will reach its
end-of-life. Thus we had basically two options, supporting OpenJDK 6 for another
twelve months or dropping support right from the start. One of my first steps
was to ask for feedback and advice on
<a href="https://lists.debian.org/debian-java/2016/03/msg00044.html">debian-java</a> since
supporting only one JDK seemed to be the more reasonable solution. We agreed on warning users
via various channels about the intended change, especially about <a href="http://www.oracle.com/technetwork/java/javase/compatibility-417013.html">possible
incompatibilities</a>
with OpenJDK 7. Even Andrew Haley, OpenJDK 6 project lead, <a href="https://lists.debian.org/debian-java/2016/03/msg00055.html">participated</a> in the discussion and confirmed that, while still supported, OpenJDK 6 security
releases are "always the last in the queue when there is urgent work to be
done".</p>
<p>I informed <a href="https://lists.debian.org/debian-lts/2016/03/msg00098.html">debian-lts</a> about
my findings and issued a <a href="https://lists.debian.org/debian-lts/2016/04/msg00070.html">call for tests</a> later.</p>
<p>Eventually we decided to <a href="https://www.debian.org/News/2016/20160425">concentrate our efforts on OpenJDK
7</a> because we are confident that for the
majority of our users one Java implementation is sufficient during a stable
release cycle. An immediate positive effect in making OpenJDK 7 the default is that
resources can be relocated to more pressing issues. On the other hand we were
also forced to make compromises. The switch to a newer default implementation
usually triggers a major transition with dozens of FTBFS bugs and the <a href="https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=openjdk-7-transition;users=ubuntu-devel@lists.ubuntu.com">OpenJDK 7
transition</a>
was no exception. I pondered about the usefulness of fixing all these bugs for
Wheezy LTS again and focussing on runtime issues instead and finally decided
that the latter was both more reasonable and more economic.</p>
<p>Different from regular default Java changes, users will still be able to use OpenJDK 6 to
compile their packages and the security impact for development systems is in general neglectable.
More important was to avoid runtime installations of OpenJDK 6. I identified eighteen
packages that strictly depended on the now obsolete JRE and <a href="https://lists.debian.org/debian-lts-announce/2016/05/msg00007.html">fixed those
issues</a>
on 4 May 2016 together with an update of
<a href="https://tracker.debian.org/pkg/java-common">java-common</a> and announced the switch to
OpenJDK 7 with a Debian NEWS file.</p>
<p>If you are not a regular reader of <a href="https://www.debian.org/News/news">Debian
news</a> and also not subscribed to
<a href="https://lists.debian.org/debian-lts/">debian-lts</a>,
<a href="https://lists.debian.org/debian-lts-announce/">debian-lts-announce</a> or
<a href="https://lists.debian.org/debian-java/">debian-java</a>, remember <strong>26 June
2016</strong> is the day when OpenJDK 7 will be made the default Java implementation in
Wheezy LTS. Of course there is no need to wait. You can switch right now:</p>
<div class="highlight"><pre><span></span>sudo update-alternatives --config java
</pre></div><p>Wheezy's LTS period started a few weeks ago and the LTS team had to make an
early support decision concerning the Java eco-system since Wheezy ships two Java
runtime environments <a href="https://tracker.debian.org/pkg/openjdk-6">OpenJDK 6</a> and
<a href="https://tracker.debian.org/pkg/openjdk-7">OpenJDK 7</a>. (To be fair, there are
actually three but <a href="https://packages.debian.org/oldstable/gcj-4.6-jre">gcj</a> has
been superseded by OpenJDK a long time ago and the latter should be preferred
whenever possible.)</p>
<p>OpenJDK 6 is currently maintained by Red Hat and we mostly rely on their
upstream work as well as on package updates from Debian's maintainer Matthias Klose and
Tiago Stürmer Daitx from Ubuntu. We already knew that both intend
to support OpenJDK 6 until April 2017 when Ubuntu 12.04 will reach its
end-of-life. Thus we had basically two options, supporting OpenJDK 6 for another
twelve months or dropping support right from the start. One of my first steps
was to ask for feedback and advice on
<a href="https://lists.debian.org/debian-java/2016/03/msg00044.html">debian-java</a> since
supporting only one JDK seemed to be the more reasonable solution. We agreed on warning users
via various channels about the intended change, especially about <a href="http://www.oracle.com/technetwork/java/javase/compatibility-417013.html">possible
incompatibilities</a>
with OpenJDK 7. Even Andrew Haley, OpenJDK 6 project lead, <a href="https://lists.debian.org/debian-java/2016/03/msg00055.html">participated</a> in the discussion and confirmed that, while still supported, OpenJDK 6 security
releases are "always the last in the queue when there is urgent work to be
done".</p>
<p>I informed <a href="https://lists.debian.org/debian-lts/2016/03/msg00098.html">debian-lts</a> about
my findings and issued a <a href="https://lists.debian.org/debian-lts/2016/04/msg00070.html">call for tests</a> later.</p>
<p>Eventually we decided to <a href="https://www.debian.org/News/2016/20160425">concentrate our efforts on OpenJDK
7</a> because we are confident that for the
majority of our users one Java implementation is sufficient during a stable
release cycle. An immediate positive effect in making OpenJDK 7 the default is that
resources can be relocated to more pressing issues. On the other hand we were
also forced to make compromises. The switch to a newer default implementation
usually triggers a major transition with dozens of FTBFS bugs and the <a href="https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=openjdk-7-transition;users=ubuntu-devel@lists.ubuntu.com">OpenJDK 7
transition</a>
was no exception. I pondered about the usefulness of fixing all these bugs for
Wheezy LTS again and focussing on runtime issues instead and finally decided
that the latter was both more reasonable and more economic.</p>
<p>Different from regular default Java changes, users will still be able to use OpenJDK 6 to
compile their packages and the security impact for development systems is in general neglectable.
More important was to avoid runtime installations of OpenJDK 6. I identified eighteen
packages that strictly depended on the now obsolete JRE and <a href="https://lists.debian.org/debian-lts-announce/2016/05/msg00007.html">fixed those
issues</a>
on 4 May 2016 together with an update of
<a href="https://tracker.debian.org/pkg/java-common">java-common</a> and announced the switch to
OpenJDK 7 with a Debian NEWS file.</p>
<p>If you are not a regular reader of <a href="https://www.debian.org/News/news">Debian
news</a> and also not subscribed to
<a href="https://lists.debian.org/debian-lts/">debian-lts</a>,
<a href="https://lists.debian.org/debian-lts-announce/">debian-lts-announce</a> or
<a href="https://lists.debian.org/debian-java/">debian-java</a>, remember <strong>26 June
2016</strong> is the day when OpenJDK 7 will be made the default Java implementation in
Wheezy LTS. Of course there is no need to wait. You can switch right now:</p>
<div class="highlight"><pre><span></span>sudo update-alternatives --config java
</pre></div>What's new since Jessie?2016-05-04T00:00:00+02:002016-05-04T00:00:00+02:00Emmanuel Bourgtag:java.debian.net,2016-05-04:/blog/2016/05/whats-new-since-jessie.html<p>Jessie was released one year ago now and the Java Team has been busy preparing
the next release. Here is a quick summary of the current state of the Java packages:</p>
<ul>
<li>A total of 136 packages have been added, 63 removed, 213 upgraded to a new
upstream release, and 145 updated. We are now maintaining 892 packages (+12.34%).</li>
<li>OpenJDK 8 is now the default Java runtime in testing/unstable. OpenJDK 7
has been removed, as well as several packages that couldn't be upgraded
to work with OpenJDK 8 (avian, eclipse).</li>
<li>OpenJDK 9 is available in experimental. As a reminder, it won't be part
of the next release; OpenJDK 8 will be the only Java runtime supported
for Stretch.</li>
<li>Netbeans didn't make it into Jessie, but it is now back and up to date.</li>
<li>The main build tools are close to their latest upstream releases, especially
Maven and Gradle which were seriously lagging behind.</li>
<li>Scala has been upgraded to the version 2.11. We are looking for Scala experts
to maintain the package and its dependencies.</li>
<li>Freemind has been removed due to lack of maintenance, Freeplane is recommended instead.</li>
<li>The <a href="https://reproducible.debian.net/unstable/amd64/pkg_set_maint_pkg-java-maintainers.html">reproducibility</a>
rate has greatly improved, climbing from 50% to 75% in the past year.</li>
<li>Backports are continuously provided for the key packages and applications: OpenJDK 8, OpenJFX,
Ant, Maven, Gradle, Tomcat 7 & 8, Jetty 8 & 9, OpenJDK 8, OpenJFX, jEdit.</li>
<li>The transition to Maven 3 has been completed, and packages are no longer
built with Maven 2.</li>
<li>We replaced several obsolete libraries and transitioned them to their latest
versions - for example, asm2, commons-net1 and commons-net2. Groovy 1.x was replaced
with Groovy 2, and we upgraded BND, an important tool to develop with OSGi, and
more than thirty of its reverse-dependencies from the 1.x series to version 2.4.1.</li>
<li>New packaging tools have been created to work with Gradle (<a href="https://tracker.debian.org/pkg/gradle-debian-helper">gradle-debian-helper</a>)
and Ivy (<a href="https://tracker.debian.org/pkg/ivy-debian-helper">ivy-debian-helper</a>).</li>
</ul>
<h2>Outlook, goals and request for help</h2>
<ul>
<li>We have several difficult transitions ahead: BND 3, Tomcat 7 to 8, Jetty 8 to 9,
ASM 5, and of course Java 9. Any help would be welcome.</li>
<li><a href="https://tracker.debian.org/pkg/eclipse">Eclipse</a> is severely outdated and currently not part of testing. We would
like to update this important piece of software and its corresponding
modules to the latest upstream release, but we need more active people who
want to maintain them. If you care about the Eclipse ecosystem,
please <a href="https://lists.debian.org/debian-java/">get in touch with us</a>.</li>
<li>We still are in the midst of removing <a href="https://wiki.debian.org/Java/Oldlibs">old libraries</a>
like asm3, commons-httpclient and the servlet 2.5 API, which is part of the
Tomcat 6 source package.</li>
<li>Want to see <a href="https://tracker.debian.org/pkg/azureus">Azureus/Vuze</a> in
Stretch again? Packaging is almost complete but we are looking for someone who
can clarify remaining licensing issues with upstream and wants to maintain the
software for the foreseeable future.</li>
<li>Do you have more ideas and want to get involved with the Java Team? Just send
your suggestions to debian-java@lists.debian.org or chat with us on IRC at
irc.debian.org, #debian-java.</li>
</ul>
<h2>Java and Friends</h2>
<ul>
<li>The Java Team is not the only team that maintains Java software in Debian.
<a href="https://wiki.debian.org/DebianMed">DebianMed</a>,
<a href="https://wiki.debian.org/DebianScience">DebianScience</a> and the <a href="https://wiki.debian.org/AndroidTools">Android Tools
Maintainers</a> rely heavily on Java. By
helping the Java Team and working together, you can improve the Java ecosystem
and further the efforts of multiple other fields of endeavor all at once.</li>
</ul>
<h2>Package updates</h2>
<p>The packages listed below detail the changes in jessie-backports and testing.
Libraries and Debian specific tools have been excluded.</p>
<p>Packages added to jessie-backports:</p>
<ul>
<li><a href="https://tracker.debian.org/pkg/ant">ant</a> (1.9.7)</li>
<li><a href="https://tracker.debian.org/pkg/elasticsearch">elasticsearch</a> (1.6.2)</li>
<li><a href="https://tracker.debian.org/pkg/gradle">gradle</a> (2.10)</li>
<li><a href="https://tracker.debian.org/pkg/groovy2">groovy2</a> (2.4.5)</li>
<li><a href="https://tracker.debian.org/pkg/japi-compliance-checker">japi-compliance-checker</a> (1.5)</li>
<li><a href="https://tracker.debian.org/pkg/jedit">jedit</a> (5.3.0)</li>
<li><a href="https://tracker.debian.org/pkg/jetty8">jetty8</a> (8.1.19)</li>
<li><a href="https://tracker.debian.org/pkg/jetty9">jetty9</a> (9.2.14)</li>
<li><a href="https://tracker.debian.org/pkg/maven">maven</a> (3.3.9)</li>
<li><a href="https://tracker.debian.org/pkg/openjdk-7-jre-dcevm">openjdk-7-jre-dcevm</a> (7u79)</li>
<li><a href="https://tracker.debian.org/pkg/openjdk-8">openjdk-8</a> (8u72-b15)</li>
<li><a href="https://tracker.debian.org/pkg/openjfx">openjfx</a> (8u60-b27)</li>
<li><a href="https://tracker.debian.org/pkg/tomcat7">tomcat7</a> (7.0.69)</li>
<li><a href="https://tracker.debian.org/pkg/tomcat8">tomcat8</a> (8.0.32)</li>
</ul>
<p>Packages removed from testing:</p>
<ul>
<li><a href="https://tracker.debian.org/pkg/avian">avian</a></li>
<li><a href="https://tracker.debian.org/pkg/clojure1.2">clojure1.2</a></li>
<li><a href="https://tracker.debian.org/pkg/clojure1.4">clojure1.4</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-cdt">eclipse-cdt</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-cdt-pkg-config">eclipse-cdt-pkg-config</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-egit">eclipse-egit</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-linuxtools">eclipse-linuxtools</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-mercurialeclipse">eclipse-mercurialeclipse</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-mylyn">eclipse-mylyn</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-mylyn-tasks-github">eclipse-mylyn-tasks-github</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-ptp">eclipse-ptp</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-subclipse">eclipse-subclipse</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-wtp">eclipse-wtp</a></li>
<li><a href="https://tracker.debian.org/pkg/freemind">freemind</a></li>
<li><a href="https://tracker.debian.org/pkg/groovy">groovy</a></li>
<li><a href="https://tracker.debian.org/pkg/maven2">maven2</a></li>
<li><a href="https://tracker.debian.org/pkg/openjdk-7">openjdk-7</a></li>
<li><a href="https://tracker.debian.org/pkg/openjdk-7-jre-dcevm">openjdk-7-jre-dcevm</a></li>
</ul>
<p>Packages added to testing:</p>
<ul>
<li><a href="https://tracker.debian.org/pkg/apache-directory-server">apache-directory-server</a> (2.0.0~M15)</li>
<li><a href="https://tracker.debian.org/pkg/dokujclient">dokujclient</a> (3.8.1)</li>
<li><a href="https://tracker.debian.org/pkg/elasticsearch">elasticsearch</a> (1.7.3)</li>
<li><a href="https://tracker.debian.org/pkg/ivyplusplus">ivyplusplus</a> (1.14)</li>
<li><a href="https://tracker.debian.org/pkg/jetty9">jetty9</a> (9.2.16)</li>
<li><a href="https://tracker.debian.org/pkg/netbeans">netbeans</a> (8.1)</li>
<li><a href="https://tracker.debian.org/pkg/openjdk-8">openjdk-8</a> (8u91-b14)</li>
<li><a href="https://tracker.debian.org/pkg/openjdk-8-jre-dcevm">openjdk-8-jre-dcevm</a> (8u74)</li>
<li><a href="https://tracker.debian.org/pkg/openjfx">openjfx</a> (8u60-b27)</li>
</ul>
<p>Packages upgraded in testing:</p>
<ul>
<li><a href="https://tracker.debian.org/pkg/activemq">activemq</a> (5.13.2)</li>
<li><a href="https://tracker.debian.org/pkg/ant">ant</a> (1.9.7)</li>
<li><a href="https://tracker.debian.org/pkg/aspectj">aspectj</a> (1.8.9)</li>
<li><a href="https://tracker.debian.org/pkg/bnd">bnd</a> (2.4.1)</li>
<li><a href="https://tracker.debian.org/pkg/checkstyle">checkstyle</a> (6.15)</li>
<li><a href="https://tracker.debian.org/pkg/eclipse-gef">eclipse-gef</a> (3.9.100)</li>
<li><a href="https://tracker.debian.org/pkg/electric">electric</a> (9.06)</li>
<li><a href="https://tracker.debian.org/pkg/felix-main">felix-main</a> (5.0.0)</li>
<li><a href="https://tracker.debian.org/pkg/findbugs">findbugs</a> (3.0.1)</li>
<li><a href="https://tracker.debian.org/pkg/fop">fop</a> (2.1)</li>
<li><a href="https://tracker.debian.org/pkg/freeplane">freeplane</a> (1.3.15)</li>
<li><a href="https://tracker.debian.org/pkg/gant">gant</a> (1.9.11)</li>
<li><a href="https://tracker.debian.org/pkg/gradle">gradle</a> (2.10)</li>
<li><a href="https://tracker.debian.org/pkg/groovy2">groovy2</a> (2.4.5)</li>
<li><a href="https://tracker.debian.org/pkg/hsqldb">hsqldb</a> (2.3.3)</li>
<li><a href="https://tracker.debian.org/pkg/icedtea-web">icedtea-web</a> (1.6.2)</li>
<li><a href="https://tracker.debian.org/pkg/ivy">ivy</a> (2.4.0)</li>
<li><a href="https://tracker.debian.org/pkg/jajuk">jajuk</a> (1.10.9)</li>
<li><a href="https://tracker.debian.org/pkg/jakarta-jmeter">jakarta-jmeter</a> (2.13)</li>
<li><a href="https://tracker.debian.org/pkg/japi-compliance-checker">japi-compliance-checker</a> (1.7)</li>
<li><a href="https://tracker.debian.org/pkg/jasmin-sable">jasmin-sable</a> (2.5.0)</li>
<li><a href="https://tracker.debian.org/pkg/java-common">java-common</a> (0.57)</li>
<li><a href="https://tracker.debian.org/pkg/java-package">java-package</a> (0.61)</li>
<li><a href="https://tracker.debian.org/pkg/jedit">jedit</a> (5.3.0)</li>
<li><a href="https://tracker.debian.org/pkg/jetty8">jetty8</a> (8.1.19)</li>
<li><a href="https://tracker.debian.org/pkg/jftp">jftp</a> (1.60)</li>
<li><a href="https://tracker.debian.org/pkg/jgit">jgit</a> (3.7.1)</li>
<li><a href="https://tracker.debian.org/pkg/jruby">jruby</a> (1.7.22)</li>
<li><a href="https://tracker.debian.org/pkg/jtreg">jtreg</a> (4.2-b01)</li>
<li><a href="https://tracker.debian.org/pkg/libapache-mod-jk">libapache-mod-jk</a> (1.2.41)</li>
<li><a href="https://tracker.debian.org/pkg/maven">maven</a> (3.3.9)</li>
<li><a href="https://tracker.debian.org/pkg/nailgun">nailgun</a> (0.9.1)</li>
<li><a href="https://tracker.debian.org/pkg/pleiades">pleiades</a> (1.6.0)</li>
<li><a href="https://tracker.debian.org/pkg/proguard">proguard</a> (5.2.1)</li>
<li><a href="https://tracker.debian.org/pkg/robocode">robocode</a> (1.9.2.5)</li>
<li><a href="https://tracker.debian.org/pkg/sablecc">sablecc</a> (3.7)</li>
<li><a href="https://tracker.debian.org/pkg/scala">scala</a> (2.11.6)</li>
<li><a href="https://tracker.debian.org/pkg/service-wrapper-java">service-wrapper-java</a> (3.5.26)</li>
<li><a href="https://tracker.debian.org/pkg/simplyhtml">simplyhtml</a> (0.16.13)</li>
<li><a href="https://tracker.debian.org/pkg/svnkit">svnkit</a> (1.8.12)</li>
<li><a href="https://tracker.debian.org/pkg/sweethome3d-textures-editor">sweethome3d-textures-editor</a> (1.4)</li>
<li><a href="https://tracker.debian.org/pkg/tomcat-native">tomcat-native</a> (1.1.33)</li>
<li><a href="https://tracker.debian.org/pkg/tomcat7">tomcat7</a> (7.0.69)</li>
<li><a href="https://tracker.debian.org/pkg/tomcat8">tomcat8</a> (8.0.32)</li>
<li><a href="https://tracker.debian.org/pkg/triplea">triplea</a> (1.8.0.9)</li>
<li><a href="https://tracker.debian.org/pkg/uimaj">uimaj</a> (2.8.1)</li>
<li><a href="https://tracker.debian.org/pkg/weka">weka</a> (3.6.13)</li>
<li><a href="https://tracker.debian.org/pkg/zookeeper">zookeeper</a> (3.4.8)</li>
</ul><p>Jessie was released one year ago now and the Java Team has been busy preparing
the next release. Here is a quick summary of the current state of the Java packages:</p>
<ul>
<li>A total of 136 packages have been added, 63 removed, 213 upgraded to a new
upstream release, and 145 updated. We are now maintaining 892 packages (+12.34%).</li>
<li>OpenJDK 8 is now the default Java runtime in testing/unstable. OpenJDK 7
has been removed, as well as several packages that couldn't be upgraded
to work with OpenJDK 8 (avian, eclipse).</li>
<li>OpenJDK 9 is available in experimental. As a reminder, it won't be part
of the next release; OpenJDK 8 will be the only Java runtime supported
for Stretch.</li>
<li>Netbeans didn't make it into Jessie, but it is now back and up to date.</li>
<li>The main build tools are close to their latest upstream releases, especially
Maven and Gradle which were seriously lagging behind.</li>
<li>Scala has been upgraded to the version 2.11. We are looking for Scala experts
to maintain the package and its dependencies.</li>
<li>Freemind has been removed due to lack of maintenance, Freeplane is recommended instead.</li>
<li>The <a href="https://reproducible.debian.net/unstable/amd64/pkg_set_maint_pkg-java-maintainers.html">reproducibility</a>
rate has greatly improved, climbing from 50% to 75% in the past year.</li>
<li>Backports are continuously provided for the key packages and applications: OpenJDK 8, OpenJFX,
Ant, Maven, Gradle, Tomcat 7 & 8, Jetty 8 & 9, OpenJDK 8, OpenJFX, jEdit.</li>
<li>The transition to Maven 3 has been completed, and packages are no longer
built with Maven 2.</li>
<li>We replaced several obsolete libraries and transitioned them to their latest
versions - for example, asm2, commons-net1 and commons-net2. Groovy 1.x was replaced
with Groovy 2, and we upgraded BND, an important tool to develop with OSGi, and
more than thirty of its reverse-dependencies from the 1.x series to version 2.4.1.</li>
<li>New packaging tools have been created to work with Gradle (<a href="https://tracker.debian.org/pkg/gradle-debian-helper">gradle-debian-helper</a>)
and Ivy (<a href="https://tracker.debian.org/pkg/ivy-debian-helper">ivy-debian-helper</a>).</li>
</ul>
<h2>Outlook, goals and request for help</h2>
<ul>
<li>We have several difficult transitions ahead: BND 3, Tomcat 7 to 8, Jetty 8 to 9,
ASM 5, and of course Java 9. Any help would be welcome.</li>
<li><a href="https://tracker.debian.org/pkg/eclipse">Eclipse</a> is severely outdated and currently not part of testing. We would
like to update this important piece of software and its corresponding
modules to the latest upstream release, but we need more active people who
want to maintain them. If you care about the Eclipse ecosystem,
please <a href="https://lists.debian.org/debian-java/">get in touch with us</a>.</li>
<li>We still are in the midst of removing <a href="https://wiki.debian.org/Java/Oldlibs">old libraries</a>
like asm3, commons-httpclient and the servlet 2.5 API, which is part of the
Tomcat 6 source package.</li>
<li>Want to see <a href="https://tracker.debian.org/pkg/azureus">Azureus/Vuze</a> in
Stretch again? Packaging is almost complete but we are looking for someone who
can clarify remaining licensing issues with upstream and wants to maintain the
software for the foreseeable future.</li>
<li>Do you have more ideas and want to get involved with the Java Team? Just send
your suggestions to debian-java@lists.debian.org or chat with us on IRC at
irc.debian.org, #debian-java.</li>
</ul>
<h2>Java and Friends</h2>
<ul>
<li>The Java Team is not the only team that maintains Java software in Debian.
<a href="https://wiki.debian.org/DebianMed">DebianMed</a>,
<a href="https://wiki.debian.org/DebianScience">DebianScience</a> and the <a href="https://wiki.debian.org/AndroidTools">Android Tools
Maintainers</a> rely heavily on Java. By
helping the Java Team and working together, you can improve the Java ecosystem
and further the efforts of multiple other fields of endeavor all at once.</li>
</ul>
<h2>Package updates</h2>
<p>The packages listed below detail the changes in jessie-backports and testing.
Libraries and Debian specific tools have been excluded.</p>
<p>Packages added to jessie-backports:</p>
<ul>
<li><a href="https://tracker.debian.org/pkg/ant">ant</a> (1.9.7)</li>
<li><a href="https://tracker.debian.org/pkg/elasticsearch">elasticsearch</a> (1.6.2)</li>
<li><a href="https://tracker.debian.org/pkg/gradle">gradle</a> (2.10)</li>
<li><a href="https://tracker.debian.org/pkg/groovy2">groovy2</a> (2.4.5)</li>
<li><a href="https://tracker.debian.org/pkg/japi-compliance-checker">japi-compliance-checker</a> (1.5)</li>
<li><a href="https://tracker.debian.org/pkg/jedit">jedit</a> (5.3.0)</li>
<li><a href="https://tracker.debian.org/pkg/jetty8">jetty8</a> (8.1.19)</li>
<li><a href="https://tracker.debian.org/pkg/jetty9">jetty9</a> (9.2.14)</li>
<li><a href="https://tracker.debian.org/pkg/maven">maven</a> (3.3.9)</li>
<li><a href="https://tracker.debian.org/pkg/openjdk-7-jre-dcevm">openjdk-7-jre-dcevm</a> (7u79)</li>
<li><a href="https://tracker.debian.org/pkg/openjdk-8">openjdk-8</a> (8u72-b15)</li>
<li><a href="https://tracker.debian.org/pkg/openjfx">openjfx</a> (8u60-b27)</li>
<li><a href="https://tracker.debian.org/pkg/tomcat7">tomcat7</a> (7.0.69)</li>
<li><a href="https://tracker.debian.org/pkg/tomcat8">tomcat8</a> (8.0.32)</li>
</ul>
<p>Packages removed from testing:</p>
<ul>
<li><a href="https://tracker.debian.org/pkg/avian">avian</a></li>
<li><a href="https://tracker.debian.org/pkg/clojure1.2">clojure1.2</a></li>
<li><a href="https://tracker.debian.org/pkg/clojure1.4">clojure1.4</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-cdt">eclipse-cdt</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-cdt-pkg-config">eclipse-cdt-pkg-config</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-egit">eclipse-egit</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-linuxtools">eclipse-linuxtools</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-mercurialeclipse">eclipse-mercurialeclipse</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-mylyn">eclipse-mylyn</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-mylyn-tasks-github">eclipse-mylyn-tasks-github</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-ptp">eclipse-ptp</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-subclipse">eclipse-subclipse</a></li>
<li><a href="https://tracker.debian.org/pkg/eclipse-wtp">eclipse-wtp</a></li>
<li><a href="https://tracker.debian.org/pkg/freemind">freemind</a></li>
<li><a href="https://tracker.debian.org/pkg/groovy">groovy</a></li>
<li><a href="https://tracker.debian.org/pkg/maven2">maven2</a></li>
<li><a href="https://tracker.debian.org/pkg/openjdk-7">openjdk-7</a></li>
<li><a href="https://tracker.debian.org/pkg/openjdk-7-jre-dcevm">openjdk-7-jre-dcevm</a></li>
</ul>
<p>Packages added to testing:</p>
<ul>
<li><a href="https://tracker.debian.org/pkg/apache-directory-server">apache-directory-server</a> (2.0.0~M15)</li>
<li><a href="https://tracker.debian.org/pkg/dokujclient">dokujclient</a> (3.8.1)</li>
<li><a href="https://tracker.debian.org/pkg/elasticsearch">elasticsearch</a> (1.7.3)</li>
<li><a href="https://tracker.debian.org/pkg/ivyplusplus">ivyplusplus</a> (1.14)</li>
<li><a href="https://tracker.debian.org/pkg/jetty9">jetty9</a> (9.2.16)</li>
<li><a href="https://tracker.debian.org/pkg/netbeans">netbeans</a> (8.1)</li>
<li><a href="https://tracker.debian.org/pkg/openjdk-8">openjdk-8</a> (8u91-b14)</li>
<li><a href="https://tracker.debian.org/pkg/openjdk-8-jre-dcevm">openjdk-8-jre-dcevm</a> (8u74)</li>
<li><a href="https://tracker.debian.org/pkg/openjfx">openjfx</a> (8u60-b27)</li>
</ul>
<p>Packages upgraded in testing:</p>
<ul>
<li><a href="https://tracker.debian.org/pkg/activemq">activemq</a> (5.13.2)</li>
<li><a href="https://tracker.debian.org/pkg/ant">ant</a> (1.9.7)</li>
<li><a href="https://tracker.debian.org/pkg/aspectj">aspectj</a> (1.8.9)</li>
<li><a href="https://tracker.debian.org/pkg/bnd">bnd</a> (2.4.1)</li>
<li><a href="https://tracker.debian.org/pkg/checkstyle">checkstyle</a> (6.15)</li>
<li><a href="https://tracker.debian.org/pkg/eclipse-gef">eclipse-gef</a> (3.9.100)</li>
<li><a href="https://tracker.debian.org/pkg/electric">electric</a> (9.06)</li>
<li><a href="https://tracker.debian.org/pkg/felix-main">felix-main</a> (5.0.0)</li>
<li><a href="https://tracker.debian.org/pkg/findbugs">findbugs</a> (3.0.1)</li>
<li><a href="https://tracker.debian.org/pkg/fop">fop</a> (2.1)</li>
<li><a href="https://tracker.debian.org/pkg/freeplane">freeplane</a> (1.3.15)</li>
<li><a href="https://tracker.debian.org/pkg/gant">gant</a> (1.9.11)</li>
<li><a href="https://tracker.debian.org/pkg/gradle">gradle</a> (2.10)</li>
<li><a href="https://tracker.debian.org/pkg/groovy2">groovy2</a> (2.4.5)</li>
<li><a href="https://tracker.debian.org/pkg/hsqldb">hsqldb</a> (2.3.3)</li>
<li><a href="https://tracker.debian.org/pkg/icedtea-web">icedtea-web</a> (1.6.2)</li>
<li><a href="https://tracker.debian.org/pkg/ivy">ivy</a> (2.4.0)</li>
<li><a href="https://tracker.debian.org/pkg/jajuk">jajuk</a> (1.10.9)</li>
<li><a href="https://tracker.debian.org/pkg/jakarta-jmeter">jakarta-jmeter</a> (2.13)</li>
<li><a href="https://tracker.debian.org/pkg/japi-compliance-checker">japi-compliance-checker</a> (1.7)</li>
<li><a href="https://tracker.debian.org/pkg/jasmin-sable">jasmin-sable</a> (2.5.0)</li>
<li><a href="https://tracker.debian.org/pkg/java-common">java-common</a> (0.57)</li>
<li><a href="https://tracker.debian.org/pkg/java-package">java-package</a> (0.61)</li>
<li><a href="https://tracker.debian.org/pkg/jedit">jedit</a> (5.3.0)</li>
<li><a href="https://tracker.debian.org/pkg/jetty8">jetty8</a> (8.1.19)</li>
<li><a href="https://tracker.debian.org/pkg/jftp">jftp</a> (1.60)</li>
<li><a href="https://tracker.debian.org/pkg/jgit">jgit</a> (3.7.1)</li>
<li><a href="https://tracker.debian.org/pkg/jruby">jruby</a> (1.7.22)</li>
<li><a href="https://tracker.debian.org/pkg/jtreg">jtreg</a> (4.2-b01)</li>
<li><a href="https://tracker.debian.org/pkg/libapache-mod-jk">libapache-mod-jk</a> (1.2.41)</li>
<li><a href="https://tracker.debian.org/pkg/maven">maven</a> (3.3.9)</li>
<li><a href="https://tracker.debian.org/pkg/nailgun">nailgun</a> (0.9.1)</li>
<li><a href="https://tracker.debian.org/pkg/pleiades">pleiades</a> (1.6.0)</li>
<li><a href="https://tracker.debian.org/pkg/proguard">proguard</a> (5.2.1)</li>
<li><a href="https://tracker.debian.org/pkg/robocode">robocode</a> (1.9.2.5)</li>
<li><a href="https://tracker.debian.org/pkg/sablecc">sablecc</a> (3.7)</li>
<li><a href="https://tracker.debian.org/pkg/scala">scala</a> (2.11.6)</li>
<li><a href="https://tracker.debian.org/pkg/service-wrapper-java">service-wrapper-java</a> (3.5.26)</li>
<li><a href="https://tracker.debian.org/pkg/simplyhtml">simplyhtml</a> (0.16.13)</li>
<li><a href="https://tracker.debian.org/pkg/svnkit">svnkit</a> (1.8.12)</li>
<li><a href="https://tracker.debian.org/pkg/sweethome3d-textures-editor">sweethome3d-textures-editor</a> (1.4)</li>
<li><a href="https://tracker.debian.org/pkg/tomcat-native">tomcat-native</a> (1.1.33)</li>
<li><a href="https://tracker.debian.org/pkg/tomcat7">tomcat7</a> (7.0.69)</li>
<li><a href="https://tracker.debian.org/pkg/tomcat8">tomcat8</a> (8.0.32)</li>
<li><a href="https://tracker.debian.org/pkg/triplea">triplea</a> (1.8.0.9)</li>
<li><a href="https://tracker.debian.org/pkg/uimaj">uimaj</a> (2.8.1)</li>
<li><a href="https://tracker.debian.org/pkg/weka">weka</a> (3.6.13)</li>
<li><a href="https://tracker.debian.org/pkg/zookeeper">zookeeper</a> (3.4.8)</li>
</ul>