Tomcat 8 and Java 8 required for GitHub master branch.

225 views
Skip to first unread message

Matthew Buckett

unread,
Apr 19, 2015, 5:04:50 PM4/19/15
to saka...@apereo.org
I've just merged the 2 pull requests for Java 8 and Tomcat 8 to master
in GitHub. This means that you now need Tomcat 8 and Java 8 to build
and run Sakai.

The maven enforcer plugin will fail the build if you attempt to build
with Java 7 although at the moment there isn't any Java 8 code.

If people have any problems the issues are:

https://jira.sakaiproject.org/browse/SAK-25903 - Java 8.
https://jira.sakaiproject.org/browse/SAK-25883 - Tomcat 8.

--
Matthew Buckett, VLE Developer, IT Services, University of Oxford

Matthew Jones

unread,
Apr 20, 2015, 1:36:13 PM4/20/15
to Matthew Buckett, sakai-dev
All of the trunk nightlies have been updated to build and and run with Java 8 (1.8.0_45) and are also running under Tomcat 8.0.21.

Sakai 10.x nightlies are still unchanged running under Java 7, but seems like it *could* run with the 8 jre, it would just need the 7 jdk to build.

Thanks Matthew!

There's a few other things we plan to do for trunk like switching the default connection pool and making use of a few Java 8 features and those will be rolled in over the next few days/weeks.

--
You received this message because you are subscribed to the Google Groups "Sakai Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sakai-dev+...@apereo.org.
To post to this group, send email to saka...@apereo.org.
Visit this group at http://groups.google.com/a/apereo.org/group/sakai-dev/.

Matthew Jones

unread,
Apr 20, 2015, 2:35:51 PM4/20/15
to Matthew Buckett, sakai-dev
For anyone switching over, the only thing I noticed that I had to do moving from Tomcat 7 to Tomcat 8 was to remove the JasperListener from the old conf/server.xml everything else seemed to just work.

(Remove this)
  <Listener className="org.apache.catalina.core.JasperListener" />

It seems as this class isn't available anymore and was removed in 8.0.0
  • Code:  Initialize the JSP runtime in Jasper's initializer to avoid need for a Jasper-specific lifecycle listener. JasperListener has been removed. (jboynes)
catalina.properties still needs to be adjusted (as SAK-22241 is not resolved) and you might want to clean components, webapps and shared/lib and do a full update/redeploy or wait until KNL-1341 is committed shortly for hikaricp (As you'll have to redeploy kernel in that case and clean up a few files)

Otherwise it's running good for me locally and on the nightlies.

Miller, Jeffrey

unread,
Apr 20, 2015, 2:57:36 PM4/20/15
to Matthew Jones, Matthew Buckett, sakai-dev
I'm trying the switchover too with 10.4 and so far I am having issues with My Workspace, specifically a My Workspace Information bug report.
--
Jeb Miller
Programmer Analyst - Sakai, HJF
USUHS/ATD
4301 Jones Bridge Road
Bethesda, MD 20814-4799
301-319-0442

Brian Jones

unread,
Apr 20, 2015, 4:24:23 PM4/20/15
to Miller, Jeffrey, Matthew Jones, Matthew Buckett, sakai-dev
I have trunk building with Java8, and running on Tomcat8 (with Java8)
locally, seems good to go! Thanks for all the hard work guys

On 2015-04-20 02:57 PM, Miller, Jeffrey wrote:> I'm trying the
switchover too with 10.4 and so far I am having issues
> with My Workspace, specifically a My Workspace Information bug report.

Jeff, from what I understand, the move to Java8/Tomcat8 is only targeted
for trunk (11), not 10.x.

Brian Jones
Programmer/Analyst
Information Technology Services
Support Services Building, Suite 4300
Western University
(519) 661-2111 x86969
bjon...@uwo.ca

Matthew Jones

unread,
Apr 20, 2015, 4:34:33 PM4/20/15
to Brian Jones, Miller, Jeffrey, Matthew Buckett, sakai-dev
Yeah, this was the initial goal here,

We should be able to say that 10.x works fine under JRE 8, but will probably always require JDK 7 to build and still be compatible with JRE 7. Some nice benefits like improved memory management (http://openjdk.java.net/jeps/122) that some might want.

That would require you to run 2 different versions of Java and make sure the right one is used though when compiling and running.

I don't think there's much reason to backport the Tomcat 8 changes back because Tomcat 7 is still supported and appears as if it will be for at least the foreseeable future.

I restarted both of the nightly 10.x with JRE 1.8.0_45 and I don't see this My Workspace problem described. (Still using Tomcat 7)

Miller, Jeffrey

unread,
Apr 21, 2015, 8:41:18 AM4/21/15
to Matthew Jones, Brian Jones, Matthew Buckett, sakai-dev
Thanks for the clarifications and insight!

How about a Java8/Tomcat7 for 10.x?

The DoD here at USUHS will preclude us from using Java 7 soon. We plan on deploying 10.4 in July. Since Tomcat 7 is not end of life (yet), our course of action then is to use the Java 8 JDK to build and deploy to Tomcat 7 (Java 8 JRE).

I was successful in building/deploying 10.4 using <sakai.jdk.version>1.8</sakai.jdk.version>
and <reflectutils.version>0.9.20</reflectutils.version> in the master/pom.xml.

I did have to tweak a few pom.xml files to get things to build cleanly with Java 8:

# modified:   presence/presence-tool/tool/pom.xml

# modified:   rwiki/pom.xml

# modified:   samigo/pom.xml


I experienced some build errors like the following, which led to the pom file fixes (dependencies):

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project sakai-presence-tool: Compilation failure

[ERROR] /home/jmiller/workspace-sakai/sakai-10.0/presence/presence-tool/tool/src/java/org/sakaiproject/presence/tool/PresenceToolAction.java:[87,32] cannot access org.sakaiproject.courier.api.ObservingCourier

[ERROR] class file for org.sakaiproject.courier.api.ObservingCourier not found


I deployed to Tomcat 7.0.59 (I need to upgrade to 7.0.61). Here are some of the particulars:

Apr 21, 2015 7:22:57 AM org.apache.catalina.startup.VersionLoggerListener log

INFO: Server version:        Apache Tomcat/7.0.59

Apr 21, 2015 7:22:57 AM org.apache.catalina.startup.VersionLoggerListener log

INFO: Server built:          Jan 28 2015 15:51:10 UTC

Apr 21, 2015 7:22:57 AM org.apache.catalina.startup.VersionLoggerListener log

INFO: Server number:         7.0.59.0

Apr 21, 2015 7:22:57 AM org.apache.catalina.startup.VersionLoggerListener log

INFO: OS Name:               Linux

Apr 21, 2015 7:22:57 AM org.apache.catalina.startup.VersionLoggerListener log

INFO: OS Version:            2.6.18-371.9.1.el5

Apr 21, 2015 7:22:57 AM org.apache.catalina.startup.VersionLoggerListener log

INFO: Architecture:          amd64

Apr 21, 2015 7:22:57 AM org.apache.catalina.startup.VersionLoggerListener log

INFO: Java Home:             /usr/java/jdk1.8.0_40/jre

Apr 21, 2015 7:22:57 AM org.apache.catalina.startup.VersionLoggerListener log

INFO: JVM Version:           1.8.0_40-b26


Things seem to be working, meanwhile I'll continue testing ...

Matthew Buckett

unread,
Apr 21, 2015, 10:02:01 AM4/21/15
to saka...@apereo.org
On 20 April 2015 at 18:35, Matthew Jones <mat...@longsight.com> wrote:
> All of the trunk nightlies have been updated to build and and run with Java
> 8 (1.8.0_45) and are also running under Tomcat 8.0.21.
>
> Sakai 10.x nightlies are still unchanged running under Java 7, but seems
> like it *could* run with the 8 jre, it would just need the 7 jdk to build.
>
> Thanks Matthew!

It wasn't just me as you can see on the tickets, Beth, Sam, Earle,
Aaron and MattJ all helped make this happen.

Onwards and upwards.

Matthew Jones

unread,
May 8, 2015, 11:12:24 AM5/8/15
to Miller, Jeffrey, Brian Jones, Matthew Buckett, sakai-dev
I don't think we could push Java 8 JDK compatibility on the community for 10.x. This would require changes that make it incompatible with 7. There's really no good time to do it, and the problem with this is that it results in us having to release two separate complete versions of Sakai and probably forcing producing instances to do a full redeploy (rather than just individual patches). 

It seems like it you tracked the work on https://jira.sakaiproject.org/browse/SAK-25903 (though there's some fixes that aren't applicable to 11) it should work out for you in 10 to upgrade.

Otherwise you can run it fine on the 8 JRE, just have to build it with the 7 JDK (or use the released version, like 10.4, 10.5, etc)

I don't believe that since Tomcat 5.5 (when they packaged in a JDT compiler) there is a requirement anymore that you have the JDK available on the running system. Maybe for axis? But CXF in 10 should be used instead.

Miller, Jeffrey

unread,
May 18, 2015, 8:20:32 AM5/18/15
to Matthew Jones, Brian Jones, Matthew Buckett, sakai-dev

--
You received this message because you are subscribed to the Google Groups "Sakai Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sakai-dev+...@apereo.org.
To post to this group, send email to saka...@apereo.org.
Visit this group at http://groups.google.com/a/apereo.org/group/sakai-dev/.

Matthew Buckett

unread,
May 18, 2015, 8:23:22 AM5/18/15
to Miller, Jeffrey, Matthew Jones, Brian Jones, sakai-dev
On 18 May 2015 at 13:20, Miller, Jeffrey <jeffrey.m...@usuhs.edu> wrote:
> Here's an issue with using 10.x Axis and Java 8,
> http://stackoverflow.com/questions/27965823/tools-jar-missing-but-only-on-the-very-first-call-tomcat-8-java-8-axis.

Are you seeing this issue affecting Sakai when running with Java 8? If
you are could you create a issue in Jira
(https://jira.sakaiproject.org/).

Earle Nietzel

unread,
May 18, 2015, 9:19:29 AM5/18/15
to Matthew Buckett, Miller, Jeffrey, Matthew Jones, Brian Jones, sakai-dev
I know this doesn't help your current situation but I would expect to see more AXIS issues and this why it is removed in 11!

I would suggest moving to using the CXF webservices and remove AXIS all together...

--
You received this message because you are subscribed to the Google Groups "Sakai Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sakai-dev+...@apereo.org.
To post to this group, send email to saka...@apereo.org.
Visit this group at http://groups.google.com/a/apereo.org/group/sakai-dev/.



--
earle,
asahi net int.

Matthew Jones

unread,
May 18, 2015, 10:12:33 AM5/18/15
to Earle Nietzel, Matthew Buckett, Miller, Jeffrey, Brian Jones, sakai-dev
Right removed in 11 but deprecated in 10. 

It sounds like from that ticket if you're still using axis you have to either use JDK 7 or there might be a way to recompile axis to support 8. Axis hasn't put out what looks like a new release in almost 10 years, so that and other reasons to convert any old webservices over to CXF though like Earle said.

Shouldn't be anything else that needs the JDK during runtime.

Simon Arame

unread,
Sep 21, 2015, 4:41:27 PM9/21/15
to Sakai Development, mat...@longsight.com, bjon...@uwo.ca, matthew...@it.ox.ac.uk
Does anyone from the sakai is going to update the 10.5 tagged branch for those 3 un-compilable poms ?
Reply all
Reply to author
Forward
0 new messages