Enable preview features for compiler plugin

569 Views Asked by At

I'm developing a compiler plugin for Javac. My codebase uses preview features, so I need to run using the flag --enable-preview. I can compile my code perfectly using maven, but when I try to do the same using IntelliJ this error is thrown:

java: An exception has occurred in the compiler (17). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program, the following diagnostic, and the parameters passed to the Java compiler in your report. Thank you.
java: java.lang.UnsupportedClassVersionError: Preview features are not enabled for it/auties/optional/tree/Maker (class file version 61.65535). Try running with '--enable-preview'
java:   at java.base/java.lang.ClassLoader.defineClass1(Native Method)
java:   at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
java:   at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
java:   at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:519)
java:   at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427)
java:   at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421)
java:   at java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
java:   at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420)
java:   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:587)
java:   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
java:   at it.auties.optional.plugin.OptionalPlugin.init(OptionalPlugin.java:40)
java:   at jdk.compiler/com.sun.tools.javac.api.BasicJavacTask.initPlugin(BasicJavacTask.java:255)
java:   at jdk.compiler/com.sun.tools.javac.api.BasicJavacTask.initPlugins(BasicJavacTask.java:229)
java:   at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.prepareCompiler(JavacTaskImpl.java:204)
java:   at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:101)
java:   at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
java:   at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
java:   at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
java:   at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:238)
java:   at org.jetbrains.jps.incremental.java.JavaBuilder.lambda$compileJava$2(JavaBuilder.java:514)
java:   at org.jetbrains.jps.incremental.java.JavaBuilder.invokeJavac(JavaBuilder.java:560)
java:   at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:512)
java:   at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:355)
java:   at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:280)
java:   at org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:234)
java:   at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1485)
java:   at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1123)
java:   at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1268)
java:   at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1088)
java:   at org.jetbrains.jps.incremental.IncProjectBuilder.access$1200(IncProjectBuilder.java:69)
java:   at org.jetbrains.jps.incremental.IncProjectBuilder$BuildParallelizer$1.run(IncProjectBuilder.java:1028)
java:   at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
java:   at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
java:   at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
java:   at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:213)
java:   at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184)
java:   at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java:   at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java:   at java.base/java.lang.Thread.run(Thread.java:833)
java: Compilation failed: internal java compiler error

As already mentioned, I'm already running using --enable-preview, but Javac doesn't seem to pick this option for the compiler plugin.

0

There are 0 best solutions below