Pentaho Kettle Java 11 Roadmap - java

Currently Pentaho Kettle (v.9.1) officially only support Java 8. This is a problem for us, since we are maintaining a plugin that needs Java 11 because of a essential library that needs Java 11. Does anyone have details on the roadmap for the migration to Java 11. I could only find some older information that Java 11 is on the roadmap, but not when it will be available for Kettle.
Our current solution is to use Java 11. You can get Spoon running when removing the JAVA_ENDORSED_DIRS from the bat/sh file. But this is not the best solution since the application is not fully compatible and we are experiencing more and more problems.
Also alternative ideas or solutions are welcome.

As of May 20, the README.md of the Pentaho Kettle repository explicitly mentions Java 11, so it seems as if that is now officially supported.

Related

Eclipse not recognising Java-17

Hi today I installed java 17 and eclipse(with latest version- 2021‑09). But after all configuration it is showing JavaSE-16 as jdk version. I ignored it and started writing a program with sealed classes. Then it is showing an error. I managed to solve the problem by installing the Java-17 support plugin from eclipse marketplace. Is it possible in eclipse without installing anything.
The release notes state this:
Supports Java 17, including Pattern Matching for Switch (Preview),
Sealed Classes, and more via Eclipse Marketplace
That means currently you have to install the plugin, later support will be included.
You might also want to read this: https://www.eclipse.org/eclipse/news/4.21/jdt.php
Install java 17 plugin from this link. Then your likely to have a content assist error. Fix it by this answer.
The support should be official with Eclipse 4.22 (Q4 2021)
Java 17
Java 17 is out and Eclipse JDT supports Java 17 in 4.22.
The release notably includes the following Java 17 features:
JEP 306: Restore Always-Strict Floating-Point Semantics.
JEP 406: Pattern Matching for switch (Preview).
JEP 409: Sealed Classes (Final).
Please note that preview option should be on for preview language features. >For an informal introduction of the support, please refer to J**ava 17 Examples wiki**.

Camel in Action published by Manning

I'm learning Camel by the book of Claus Ibsen and I would like to have your advise on this.
I have got the book and the code from the side.
In chapter1 it says run:
C:\camelinaction-master\chapter1\file-copy>mvn compile exec:java -Dexec.mainClass=camelinaction.FileCopierWithCamel
The error it produces is:
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.1.1:java (default-cli) on project chapter1-file-copy: An exception occured while executing the Java class. null: InvocationTargetException: javax/xml/bind/annotation/XmlRootElement: javax.xml.bind.annotation.XmlRootElement -> [Help 1]
I'using
java 15.01 and
mavem 3.3.5
Since I got this issue at the very beginning of the book I thought before I start debugging the issue perhaps it is good to ask if the code from the book is still working or is it to old and not maintained? If that is not the case it is worth solving the issue otherwise is there newer learning material that you have used and good experience with?
The JAXB APIs are considered to be Java EE APIs and therefore are no longer contained on the default classpath in Java SE 9. In Java 11, they are completely removed from the JDK. (Quote from Java: How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException )
Try using Java 8.
UPDATE: As Claus (one of the authors of the book) pointed out, there are branches for Camel 3.x versions in the book source code repository:
https://github.com/camelinaction/camelinaction2/tree/camel37
3.x supports Java LTS versions: 8, 11, or 14, but does not officially support the non LTS Java versions.
As Kristof advised, short answer is use Java 8.
In addition to that, the Camel in Action book (2nd ed.) uses Camel 2.x and it supports only Java 8 so otherwise the sample code doesn't work.
If you really want to use later Java versions (11 and higher) you should use Camel 3.x (the latest version as of now is 3.7.1). Since it's a major upgrade you'd need to go through some migration work in order to make the sample code run with Camel 3.x. See the following official migration/upgrade guides for what to do:
https://camel.apache.org/manual/latest/camel-3-migration-guide.html
https://camel.apache.org/manual/latest/camel-3x-upgrade-guide.html
Thank you Claus Ibsen.
With the link to the new source files I'm able to continue my study.
https://github.com/camelinaction/camelinaction2/tree/camel37

Need more information on Drools -version 7.X.X compatibility with java11

Does anyone know that is there any compatibility issues with drools 7.5.0.Final and above + for java 11?
Also does the latest drools version documentation or any link provides any information about drools compatibility with java 11. ?
There is no official confirmation Drools works on Java 11. Here is the link from forum.
You can always check Droops Usage Forum , where I found the questions on
compatibility issues.
Some reports suggest that it works without compatibility issues on Drolls 7.22.0.Final.

Eclipse and Java- need to install the legacy SE 6 runtime

I'm trying to get Eclipse to run. Here's the info on my java version-
And when I try to run Eclipse, this is what I get-
Does this mean I have to uninstall my current version of Java and download the legacy SE 6? I'd rather not do that, is there a simpler way to resolve this?
Thanks!
Your eclipse version seems very old to require Java 6.
The latest version currently available is Oxygen.
You can download from their official website. Downloading legacy java 6 is not a recommended idea.

JavaFX comes with JDK 8?

I have multiple questions regarding JavaFX.
Does JavaFX come with JDK 8? Does JavaFX also require its own runtime environment?
I looked in my computer (I have JDK and JRE installed) but could not find the JavaFX. Does this mean that JavaFX has its own seperate runtime environment and development kit? If so, where can I find the download links?
If somehow it is already downloaded on my computer, how does JavaFX work? Is it similar to Swing or completely different?
Edit Jan 2020 for those who stumble upon this question: With JDK 11, JavaFX is standalone; see jewelsea's answer below. Antonio Raposo's answer applies for JDK 8, but note that it is outdated.
JavaFX is bundled with JRE 8 and JDK 8. The JavaFX jar is jfxrt.jar and resides in the ext folder.
To deploy an application the only requisite is that the JRE 8 is properly installed.
There are similarities between JavaFX and Swing, but also differences. The best way to start is by reading the documentation available at the JDK site. Be careful to read JavaFX 8 pages and not JavaFX 2 pages as there are some differences and some old examples might not work.
You may also be interestes in one or other example I am posting in my blog A Cup of Java
Update Jan 2020
JDK 8 versions of JavaFX are now outdated.
Modern JavaFX versions (11+) are currently available from:
https://openjfx.io/ - documentation
https://gluonhq.com/products/javafx/ - hosted downloads
JavaFX libraries are usually not shipped standard with most OpenJDK or Oracle JDK versions. Instead JavaFX is available as a seperate set of libraries, modules and a SDK. Instructions on including JavaFX with your runtime distribution and developing with JavaFX are included at the openjfx.io link above.
Liberica JDK distributions by BellSoft currently ship with included JavaFX libraries and SDK tools. Or you can choose an OpenJDK version which does not include JavaFX from https://adoptopenjdk.net/ and add on a JavaFX distribution via following installation instructions at https://openjfx.io/ or as a maven or gradle dependency (also documented at the openjfx.io link).
JavaFX 8 tutorials hosted at Oracle are high quality and still relevant for use with later JavaFX versions.
Original Answer for JDK 8
JavaFX for Oracle Java 8 is not a separate installation. JavaFX is included in Oracle JDK 8 running on OS X, Linux x86 and Windows. The best place to learn more about this is the Oracle Client Technologies documentation for JavaFX.
Oracle used to distribute a binary version for Linux ARM as well, but I think that is only available by compiling the OpenJDK source now.
OpenJDK 8 binary installations, such as those which ship with Ubuntu, don't currently include JavaFX by default. For Ubuntu, it seems you can install a separate apt package for JavaFX. A user commented on another answer that the command for this is: sudo apt-get install openjfx (though I haven't an installation of Ubuntu to try it on). For more information on the relationship of OpenJDK and JavaFX, read: JavaFX and OpenJDK.
One thing that may be confusing you is that a very early version of JavaFX (1.x) was distributed as a separate download and development kit and implemented a new language called JavaFX Script which was different from Java. However, that early version of JavaFX is now no longer supported and should not be used. As of JavaFX (2.x) the JavaFX system was completely rewritten to provide a straight Java API and no longer use JavaFX Script. As of Java 8, JavaFX was completely integrated into Oracle JDK and no longer distributed as a separate download by Oracle. Being a Java API for Java GUIs that is part of the Oracle JDK, JavaFX is similar (in that way) to Swing; so the Oracle JDK provides alternate and distinct toolkits in the form of Swing and JavaFX.

Categories

Resources