My machine has JAVA for smart dashboard and today I get this message:
Change in License Terms
Important Information about Oracle Java SE Roadmap
…
…
and then it links to this
So in short of all the official information presented on this link. Does anyone have some insight as to what is triggering this change? And would this have any impact on the ability to continue to use the SmartDashboard or other things needed for Java?
Java 8 will be deprecated in 2019 and no longer be supported. SmartDashboard uses Java 8 and will also become deprecated. I suggest you look into Shuffleboard, as it supports Java 11 (the current LTS release of Java).
Yes, Oracle has announced that it wants to start charging for Java. This is certainly something on my radar as I’m a software engineer who primarily works with Java, but I don’t think it’s going to be as big a deal as it might sound at first.
There will continue to be open-source version of Java, OpenJDK. (See the “Oracle JDK and OpenJDK builds from Oracle” section of the Java Support Roadmap linked from the page you provided.) Really what’s changing is that if you want the official supported Oracle Java, then you can buy that, but if you want the freebie version where you’re on your own if anything goes wrong, then you can still use a free open source version.
I suspect that the standard recommendation or requirement for FRC will be to use OpenJDK, though that’s just a guess on my part. Or maybe FIRST will get Oracle as a sponsor/supplier to provide the official Oracle Java version. Either way, I doubt it’s something that teams have to worry about too much in the immediate future. Just don’t be surprised when you go to set up a system and learn that you need to download Java from a different place than you had previously.
FRC will use OpenJDK 11 for the 2019 season. All the WPILib tools will continue to work, except perhaps SFX, which has been deprecated for several seasons now and is unmaintained.
The warning you got was about the change to the license terms for Oracle-build JDKs and JREs; however, since we’ll be using OpenJDK, you don’t need to worry about it.
This doesn’t effect my team but it may effect others so I’ll ask here, will OpenJDK 11 still support 32-bit machines or are we moving to 64-bit only for FRC now?
So if I am prepping new software students for this year, I should get them to install OpenJDK 11, Visual Studio Code, and follow the instructions for the alpha install of wpilib as per ScreenSteps:
Our team is going bananas trying to get the VS to work with Java 8.0_191. When we go to download Java from either Oracle or Red Hat we don’t see an option for Java 11 - both download version 8.0_191 (jre1.8.0_191 and jdk1.8.0_191).
At this point we were able to get a template for an interactive robot but we cannot build and are getting very confused. I believe we have loaded the alpha version of VS.
In your extension window in vscode (it should be bottom button on the left), what version is the wpilib extension? If it says beta, you grabbed the wrong one, and go back to the releases page and grab the one labeled alpha. The alpha requires 8, not 11.
I believe that I have the alpha version although the button you mention does not exist in the lower left of the extensions window. The message I get is:
“Java runtime could not be located” followed by a button “Get the Java Development Kit”. This leads to an installation of the Red Hat version of Java - I had originally installed Java via Oracle but I’ll try the Red Hat and see if it resolves the problem.
What operating system are you using? In windows, for instance, you need to edit the system PATH to include the JDK you’ve downloaded. EG c:\jdk1.8\bin. Replacing that with the path to your JDK installation. You can also add a JAVA_HOME environment variable to the directory where the JDK is installed, using the same example it would be c:\jdk1.8.
I’m running windows 10. Most of my experience is in embedded C so I’m not sure how or where to specify HOME or PATH. Could you send me an example?
Thanks
I forgot to mention, you absolutely MUST reboot for these settings to take effect. You can fake it from a command line to test your results by bringing up the command prompt and typing in something similar to below. Test VS Code after you make changes until you get one that works, and THEN enter that value into your path.
Can anyone speak to the problem of not being able to download gradle dependency jar files because school internet filters are blocking it? I tried a portable VSCode with the zipped version and adding the data folder to make it portable. I was able to build the robot code with unfiltered internet. Thought the downloads would be in the portable version but at school we still couldn’t build as gradle tried to download dependencies again. Also at competition we possibly might not have internet or could have filtered internet. What is the workaround for this?
If you’re in windows and set the environment variable from the environment variable panel, any already-running program (including a command prompt) does not get the update. As programs get their environment from their invoking process, any java commands run from that prompt would still have the old value. If this is what happened, all you need to do is start a new command prompt, and run java from there, or set it directly inside the command prompt using the set command.