- Can I use Java 8 JDK with prior versions of Learn?
- What if I'm still on a Learn release with Java 7?
- What impact does Java 8 have on my Blackboard Learn environment?
- What do system administrators need to do to prepare for this change?
- What do developers need to do?
- As a developer, can I leverage Java 8 features?
- How can I learn more about building blocks?
Blackboard Learn now uses Java 8.
Blackboard Learn SaaS and 9.1 Q2 2016 run on Java 8, the latest version of Java from Oracle. This change is on the server only and is unrelated to any Java you or your users may use on devices or browsers. Java 8 is the most currently supported version of Java, which means that Oracle is actively developing and maintaining the platform to ensure quality and security. In order to provide the most secure and quality solution, Blackboard Learn leverages the latest Java technology.
This topic answers a number of common questions to help you and your institution understand what Java 8 means for your Blackboard Learn environment.
Can I use Java 8 JDK with prior versions of Learn?
No. Java 8 JDK should only be used with the latest Blackboard Learn releases (9.1 Q2 2016 or SaaS). Downloading and installing the Java 8 JDK will be part of the Q2 2016 upgrade procedure.
What if I'm still on a Learn release with Java 7?
We've got you covered. New versions of Java 7 JDK installers will be available through February 2017, giving all clients access to Java 7 fixes and security patches while transitioning to a Blackboard Learn release that uses Java 8. The versions of Blackboard Learn using Java 7 JDK will be supported according to the timetables in the Blackboard Learn Support Services Guide (PDF).
What impact does Java 8 have on my Blackboard Learn environment?
The primary impact is on third party building blocks. Nearly all building blocks will continue to work without any changes, but some may require small updates or more significant changes depending on how the building blocks were authored. The impact is no greater than previous versions of Blackboard Learn that changed Java versions (e.g. Java 6 to Java 7 as part of SP 10).
For SaaS Plus/Advantage deployments on which additional Building Blocks have been installed, we also recommend testing these building blocks in test instances prior to this release being made available to production.
What do system administrators need to do to prepare for this change?
If you use building blocks that aren't part of core Blackboard Learn, you should plan to test them in a non-production environment running a version of Blackboard Learn using Java 8. Report any issues you may find to the building block solution provider.
This recommended testing is a best practice for any upgrade, but we strongly encourage you to test for this upgrade because the change is more significant.
What do developers need to do?
Generally, most Java 7 code is compatible with Java 8 and will work. However, building blocks may require updates. Likely scenarios include:
- During compilation, the values for compatibility, source, and target were not specified in a way compatible with Java 8.
- A building block uses complex Java 7 libraries.
- A building block that relies on the Spring Framework must be updated to use Spring 4.2.0+.
In any case, it's a best practice to recompile the building block with Java 8 and the latest public Blackboard .jar files.
As a developer, can I leverage Java 8 features?
Yes, developers can now use Java 8-specific capabilities, such as lambda expressions. However, implementing these features means the building block won't be compatible with Java 7 versions of Blackboard Learn. If the building block is specific to your environment, this is less of a concern. Implement Java 8 features after you upgrade Learn.
Solutions intended for multiple versions of Blackboard Learn may need to create two separate building blocks or create a single building block compiled using the target versions' appropriate libraries, and compiler source and target versions to meet both Java 7 and Java 8 compatibility requirements.
How can I learn more about building blocks?
Join the Blackboard Learn Developer Community.