Eclipse – Change IDE’s JRE Version

Background

Really fumbling a lot here.

Trying to get the Hibernate Plugin to play well with Eclipse is becoming my fool’s errand.

Wifey

I did not know she had texted.  But, now I know as she is calling.

I could not reach for the phone in time.

But the text read, “When are you getting off work?“.

She is easy.

Her request is always around food.

This time it is pickup seafood. And, don’t forget they close at 9:30 pm.

 

Error Message

As I muddled my way around the Hibernate Wizards confronted with a fresh message.

It read :-

Image

window.hibernateConfigurations.01.20190506.0426PM

Textual

Project ‘helloDBHibernate03’ has higher compiler option than running EclipseHibernate plugins unable to load its classes.
Please decrease the compiler option or run the Eclipse with higher JDK level.

Explanation

I really like mouthful paragraphs that are easy to read and comprehend :-

  1. The error message states my current project’s compiler option is higher than Eclipse’s own JVM.
  2. As a result the Hibernate plugin can not be loaded
  3. To re-mediate
    • Change the project’s compiler option
    • Run Eclipse’s JDK Level

Lineage

I know that the issue is my changing my project’s JDK level.

That move is documented here :-

Eclipse – Changing Targeted JRE
Link

Remediation

I could revert the Project’s JDK level.

or try running Eclipse at a complementary JRE.

GUI

Wanted to do make the transition using the GUI.

But, could not find a way to do so.

Manual

Outline

  1. Ensure you have downloaded and installed the targeted JDK
  2. Configure Eclipse to use targeted JDK
    • Change needs to occur via eclipse.ini

Java Runtime

Java Runtime – v11

Artifact

JRE 11 is available here

artifact.jdk11.20190507.0933AM

Install

Installed JDK 11.

Review Install

The install is targeted at :-

java.install.folder.20190507.0936AM

Review Folder

Noticed :-

  1. Unlike earlier versions :-
    • Bundling
      • We do not have separate installs for JRE and JDK
      • We only have one JDK
    • Naming
      • Folder ( JDK versus JRE )
        • Previous ( < JDK 10 )
          • jre*
        •  New ( >= JDK 10 )
          • jdk*
      • Folder ( Decimal versus Whole)
        • Previous ( < JDK 10 )
          • 1.3
          • 1.8
        •  New ( >= JDK 10 )
          • 10
          • 11

Eclipse

Configuration File

Folder

Please access the eclipse folder

eclipse.winOS.folder.01.20190507.0930AM
eclipse.ini
Outline
  1. Backup eclipse.ini
  2. Modify the following entries
    • vm
      • original
        • -vm
          C:/Program Files/Java/jre1.8.0_181/bin
      • Revised
        • -vm
          C:/Program Files/Java/jdk-11.0.3/bin
    • vmargs
      • original
        • -Dosgi.requiredJavaVersion=1.8
      • revised
        • -Dosgi.requiredJavaVersion=11
    • add-modules
      • original
        • –add-modules=ALL-SYSTEM
          -Dosgi.requiredJavaVersion=1.8
      • revised
        • –add-modules=ALL-SYSTEM
          -Dosgi.requiredJavaVersion=11
Backup File

Please backup the eclipse.ini file.

It is the one we will be modifying.

File – Original

eclipse.revised.1.8.20190507.0953AM

File – Revised

eclipse.revised.11.20190507.0950AM

Validation

Outline

  1. Please restart Eclipse
  2. Use menu to access Eclipse About
    • The “Eclipse About” window appears
    • Please click the “Installation Details” button
    • Please access the “Configuration” Tab
    • The retrieving system Information message appears
    • Waited a few more for the Configuration details to appear

Configuration

v11

Image

jre.version.v11.20190507.1105AM

Text

-vm
C:/Program Files/Java/jdk-11.0.3/bin\server\jvm.dll

 

Dedicated

Life is good once you run into Amy :-

Amy DeGregorio
Baeldung
How to Fix java.lang.UnsupportedClassVersionError
Link

SQL Server – v2017 – Install – “Oracle JRE 7 Update 51 (64-bit) is required for Polybase”

Background

Installing SQL Server v2017 and ran into an error that I have seen before.

Error

Error Image

OracleJRE7Update51_x64.2018109.1111AM.PNG

Error Textual

Oracle JRE 7 Update 51 (64-bit) or higher is required for Polybase

Tackled Before

History

Already tackled before here:

SQL Server (v2016) – Installation – Blocked – “Oracle JRE 7 Update 51 (64-bit) or higher is required for Polybase”
here

History

The fix applied was to install Java JRE downloaded from here:

https://www.oracle.com/technetwork/java/javase/downloads/index.html
Link

But, unfortunately even though install applied no help this time.

Trouble Shooting

Let us dig a bit deeper.

SysInternals

Process Monitor

Image

sysInternals.processMonitor.20181009.1010AM.PNG

Explanation

  1. Identified component used by SQL Server Setup
    • Component is ScenarioEngine
  2. ScenarioEngine
    • Log
      • C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log\20181009_092126\Detail.txt

Tail

Tail For Win32

Download

Downloaded Tail For Win32 from here:

Tail for Win32
Link

Usage

Launched “Tail For Win32” and loaded the identified SQL Server Log file ( Detail.txt )

Results
Image
TailforWin32_Usage_20181009_1151AM
Textual

13) 2018-10-09 10:13:06 Slp: Init rule target object: Microsoft.SqlServer.Configuration.Polybase.Polybase_IsMinJavaVersionInstalledFacet
(13) 2018-10-09 10:13:06 SQLPolyBase: Could not find registry setting HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion.
(13) 2018-10-09 10:13:06 SQLPolyBase: Minimum version expected: 1.7.51. Java not found.
(13) 2018-10-09 10:13:06 SQLPolyBase: Rule 'Polybase_IsMinJavaVersionInstalled' detection result: IsMinJavaVersionInstalled= False
(13) 2018-10-09 10:13:06 Slp: Evaluating rule        : Polybase_IsMinJavaVersionInstalled
(13) 2018-10-09 10:13:06 Slp: Rule running on machine:
(13) 2018-10-09 10:13:06 Slp: Rule evaluation done   : Failed
(13) 2018-10-09 10:13:06 Slp: Rule evaluation message: This computer does not have the Oracle Java SE Runtime Environment Version 7 Update 51 (64-bit) or higher installed. The Oracle Java SE Runtime Environment is software provided by a third party. Microsoft grants you no rights for such third-party software. You are responsible for and must separately locate, read and accept applicable third-party license terms. To continue, download the Oracle SE Java Runtime Environment from https://go.microsoft.com/fwlink/?LinkId=526030.
(13) 2018-10-09 10:13:06 Slp: Send result to channel : RulesEngineNotificationChannel

Textual
  1. QLPolyBase: Could not find registry setting HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion.
    (13) 2018-10-09 10:13:06 SQLPolyBase: Minimum version expected: 1.7.51. Java not found.

Registry

regedit

Images

Regedit – Image – Before
Image

registry_20181009_1038AM.PNG

Textual
  1. Computer\HKEY_LOCAL_MACHINE\Software\JavaSoft
    • Java Plug-in
    • Java Update
    • Java Web Start
    • Java Web Start Caps
    • JRE
Explanation
  1. HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion.
    • Java Runtime Environment
      • Missing

Remediation

Outline

Please download Java JRE 8 and install it.

Download

Please download artifacts from here :-

Java SE Runtime Environment 8 Downloads
https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Link

Artifacts

Image

Java SE Runtime Environment 8u181

download_JavaSERuntimeEnvironment_20181009.1221PM.PNG

download_20181009.1026AM.PNG
Explanation
  1. Chose to download Windows X64

 

Install

Images

Destination Folder

download_DestinationFolder_20181009.1031AM.PNG

Installing
Installing -01

install_20181009.1032AM.PNG

java Setup – Complete

install_JavaSetupComplete_20181009.1033AM.PNG

Change in License Terms

download_JavaSERuntimeEnvironment_Roadmap_20181009.1030AM.PNG

Registry

Using regedit, please review the Java’s registry structure.

regedit

Images
Regedit – Image – After
Image

registry_java_jre_1Dot8_20181009_1243PM.PNG

Explanation
  1. HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion is now present

 

Summary

It appears that Oracle has changed the folder structure for Java in the Windows Registry.

Specifically what used to be

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion.

is now

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE\CurrentVersion.

Please be sure to have Java JRE v1.8 ( Java 8) installed for SQL Server v2016\v2017 Polybase.