How to Enable Java Preview Features and Run Code from IntelliJ IDEA
May 08, 2022JEP 425: Virtual Threads (Preview) has been proposed recently. It has been a long-awaited feature in Java. I wanted to give it a try. So I download the early release of JDK which has the project loom in it. However, it is under preview.
The following snippet was pretty much my first program written for testing virtual threads.
public class Main { public static void main(String[] args) throws InterruptedException { Thread.startVirtualThread(() -> { System.out.println("Hello from virtual thread"); }).join(); } }
It is so simple that I could just run it in the command line using the source code launcher :
java --enable-preview --release 19 Main.java
However, it needed a bit of yak shaving. I needed to download the JDK, extract the tarball, set the java home, etc. I manage multiple JDKs using SDKMAN; it doesn't have it since it's still in early access release. So I had to let SDKMAN know it manually.
Then I figured, maybe, perhaps an IDE could help me here. So I opened my favourite IDE, which happens to be IntelliJ IDEA. I created a project and set up the JDK using the following window-
Then when I tried to run, it didn’t allow me to run the code since the virtual thread was still in preview. Here are the steps I had to go through in IntelliJ IDEA.
First, you need to go preference, and then Build, Execution, Deployment and then Select Java Compiler.
At the bottom, there is a box named the additional command line parameter. Add the following line there-
--enable-preview
And then go to the run configuration. Select the modify options and Mark the Add VM options.
You need to add --enable-preview
there as well.
That’s it.
Now you can run the project loom from IntelliJ IDEA.
So this has happened with SDKMAN in mac with me, when I tried loom EA. I don’t know if this is because of my machine or something with SDKMAN
W $sdk d java 19.ea.21-open
We periodically need to update the local cache. Please run:
$ sdk update
Default java version set to 19.ea.21-open
\W $java --version
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
\W $
[…] 注:如果你用Java SE 12运行上述代码,需要指定–enable-preview参数,如果使用 Intellij IDEA ,参考How to Enable Java Preview Features and Run Code from IntelliJ IDEA […]
With the latest build (19.ea.36-open) you also need to set `–source 19` in the Java compiler parameters for this to work. Setting `–release 19` doesn’t work
[…] olduğundan, etkinleştirmek için –enable-preview seçeneğini kullanmamız gerekiyor. Nasıl yapıldığına buradan […]
[…] 注:如果你用Java SE 12运行上述代码,需要指定–enable-preview参数,如果使用 Intellij IDEA ,参考How to Enable Java Preview Features and Run Code from IntelliJ IDEA […]
>I manage multiple JDKs using SDKMAN; it doesn’t have it since it’s still in early access release.
SDKMan has been providing loom EA releases for s very long time.
All you have to do is `sdk i java 19.ea.5.lm-open`