Le 15/03/2016 14:46, Bernd Waibel a écrit : > Thanks Benoit, > > so: is there anything speaking AGAINST switching to JDK 1.8? > Yes. The OpenJDK versions delivered with Ubuntu 14.04 (LTS) is only JDK7. > So you need to install a JDK8 "by hand" on current running linux machines. > This may vote against JDK8.
Note that there are docker containers to avoid such a situation : the only dependency is docker with such a solution, and there is no need to install a JDK8 by hand if docker is already installed. I think it can be a workaround for such a problem. > > We always are using the Oracle versions, due to other limitations in the > crypto engine, but that is "our problem", not a rule for other users. It is > not an act to install. > > Deciding to switch a JDK level is not done with every release. > So this switch maybe the defined JDK for the next years. > > For information: The official End-of-life matrix is: > V GA End Notify End Updates > 6 Dec 2006 Feb 2011 Feb 2013 > 7 Jul 2011 Mar 2014 Apr 2015 > 8 Mar 2014 TBD Sep 2017* > See: > http://www.oracle.com/technetwork/java/eol-135779.html#Java6-end-public-updates > There is no longer premium support offered by Microsoft for 1.6. So this is > not used often. > There is premium support for 1.7, so this may be used by some customers. > > So my vote would be: JDK 8. > > Greetings, > Bernd > > -----Ursprüngliche Nachricht----- > Von: Benoit Tellier [mailto:[email protected]] > Gesendet: Dienstag, 15. März 2016 03:12 > An: [email protected] > Betreff: Re: Use of Lambdas in Cassandra with target.jdk 1.6 [unsigned] > > Hi Bernd, > > A huge +1, I would be so happy to see JDK 1.8 used everywhere in James. > It would allow us to write readable code based on streams everywhere. > > For your information, some modules uses a JDK 1.8 : > > - backends/cassandra > - mailbox/cassandra > - mailbox/elasticsearch > - server/data/data-cassandra > - server/protocols/jmap* > - mpt/impl/imap-mailbox/cassandra > - mpt/impl/imap-mailbox/elasticsearch > - mpt/impl/imap-mailbox/external > - server/container/cassandra-guice > - mpt/impl/smtp > > You will find in the POM of those project : > > - a build desactivation for JDK older than 1.8. An empty jar will be > produced > - all the project dependencies included for JDK >= 1.8 > - disable animal sniffer for JDK >= 1.8 > > So lambas are never used with an other JDK than 1.8. But it means having > a JDK < 1.8 you can not run ElasticSearch, Cassandra, JMAP, and Guice > stuff. > > By the way, Linagora CI triggers two builds upon our pull requests : > > - One in Java 6 + Spring > - One in Java 8 + Guice > > I would love to have some POM simplification, and build simplification here. > > Benoit > > Le 14/03/2016 19:59, Bernd Waibel a écrit : >> Hello together, >> >> I am trying to compile "james-project", but I am just following Maven errors. >> >> At this point I did find something, I am not sure if I interpret this >> correctly. >> The Cassandra implementation uses Lambdas. E.g. in CassandraTableManager. >> >> The pom.xml of "james-project" does define a target jdk of 1.6: >> <target.jdk>1.6</target.jdk> >> The pom.xml of backends-common and the pom.xml of backends-cassandra do not >> redefine the target.jdk to another level. >> >> Lamdas (and the used stream objects) are new in JDK 1.8, so a JDK Target of >> 1.6 for Cassandra do not seem to be meaningful. >> The Cassandra project should redefine the target.jdk to 1.8, cause it will >> not compile with a lower level. >> >> I would suggest to change the JDK target level for the whole project to a >> up-to-date JDK level. >> I personally would prefer to use JDK 1.8 for the whole james-project target. >> >> (This maybe should be split into 2 tickets). >> >> >> Best regards, >> >> Bernd Waibel >> >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
