On 11/16/2011 3:45 PM, Tommaso Teofili wrote: > Hi all, > > looking at the roadmap towards 2.4.0 release of UIMA SDK I was wondering > why not migrate to Java 6 and consequently drop Java 5 support. > The 2.3.1 version is known to be stable enough to keep it as the last Java > 5 enabled version in my opinion to allow backward compatibility. > > This way we may also open up to integrate easier with a number of other > open source projects which adopt Java 6. > Just as an example, some months ago I was working on the RDF CAS Consumer > using Clerezza but then (my fault) I realized it was not possible to use it > on Java 5 as Clerezza uses Java 6 however this alone wouldn't be a strong > enough reason.
I guess I don't understand this. The UIMA framework and annotators, written to work on Java 5, will also work on Java 6. So I don't understand the issue here; can you explain a bit more? > Other much more important reasons, in my opinion, lie in bugs in Java 5 > which have been fixed only in Java 6, see this one from Lucene as an > example: > https://issues.apache.org/jira/browse/LUCENE-3235 This bug was reported to also affect (some) Java 6 issues, according to the fast read I did of all the comments on that issue. There recommendation I think was to fix their code to avoid tripping over that issue in JVMs. > Consider also that some bugs have been resolved in minor versions of Java 6 > so this wouldn't secure things 100% from previous bugs, but I think that > doing a minor version upgrade (usually to at least 1.6.0_18) is trivial > while changing major versions could be an issue with a big project. > By the way, it seems Lucene 3.x is going to drop Java 5 support thus this > would block any further update to Lucas/Solrcas (Lucene/Solr 3.4 still has > Java 5 but 3.5/3.6+ will probably migrate to Java 6). Again, I don't know why we couldn't continue to upgrade Lucas, even if was Java 5 compatible. Wouldn't it run just fine under Java 6? > > What do you think? I think that things written for Java 5 will run on either Java 5 or 6. So "requiring" Java 6 will cause Java 5 users of UIMA to stop being able to get updates (unless we undertake to maintain multiple releases in parallel :-) ). I think we should wait quite a while before doing this kind of thing, because I don't see any particular value in Java 6 features over Java 5 for UIMA; and anyone can exploit the Java 6 implementations if they wish, already. Please let me know if I misunderstand some basics, here :-) .... -Marshall > Tommaso >
