Reputation: 2509
I'm trying to run my JSQL parser class, but I'm getting Error: java: invalid source release 1.9
.
I tried to following this answer. I changed File> Build,Execution,Deployment> Java Compiler> Project bytecode version: 1.8. However, I can't change the Module language level and Project language level to 1.8 because there's not option for that. I still get the same error below.
Code
package cs4321.project2;
import java.io.FileReader;
import net.sf.jsqlparser.parser.CCJSqlParser;
import net.sf.jsqlparser.statement.Statement;
import net.sf.jsqlparser.statement.select.Select;
public class Parser {
private static final String queriesFile = "resources/input/queries.sql";
public static void main(String[] args) {
try {
CCJSqlParser parser = new CCJSqlParser(new FileReader(queriesFile));
Statement statement;
while ((statement = parser.Statement()) != null) {
System.out.println("Read statement: " + statement);
Select select = (Select) statement;
System.out.println("Select body is " + select.getSelectBody());
}
} catch (Exception e) {
System.err.println("Exception occurred during parsing");
e.printStackTrace();
}
}
}
Upvotes: 204
Views: 298709
Reputation: 11
Whatever version you wanted to use, add it's path in environment variable at top, it will resolve this issue.
Upvotes: 0
Reputation: 5622
Maven Projects - and Project Structure[imported as maven in IntelliJ]
Try - If any of below pom entries present - values should be same at java level
<java.version>16</java.version>
<maven.compiler.source>16</maven.compiler.source>
<maven.compiler.target>16</maven.compiler.target>
GRADLE projects
Since we started working with GRADLE,
Build.gradle: - even below line didn't help
sourceCompatibility = '16'
I am getting this ERROR most of the time and Solution is
Change Gradle JVM
to XX
Preferences | Build, Execution, Deployment | Build Tools | Gradle -> JVM
Upvotes: 44
Reputation: 11627
While setting Language level
do note that various language levels are split across LTS Versions
and Other Versions
headers. I missed that and spent a while figuring why level 8 wasn't showing up in my dropdown
Ref: What is Project Language level in IntelliJ IDEA?
Upvotes: 0
Reputation: 1
May caused by mismatching configuration of your Maven as well as project Structure.
IntelliJ IDEA - File - Project Structure - Project Settings
Project: Project language level : please select one (e.g. 8 - Lambdas, type annotations etc.)
Modules: Language Level: please select one same as above. (e.g. 8 - Lambdas, type annotations etc.)
Apply the setting.
confirm your pom.xml file whether contains the properties configure xml code as below or not.
please change the version to '8'.
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
right click pom.xml -> maven -> Reload project.
Upvotes: 0
Reputation: 1790
Below process worked for me: File -> Project Structure -> Platform Settings -> SDKs -> (ADD JDK Required version either from disk or download it)
Upvotes: 0
Reputation: 265
After I changed everything mentioned in answer, it was still giving me same error. I had to change "Use complier" option from "Eclipse" to "Javac" and it solved the issue for me.
Upvotes: 1
Reputation: 13
I was able to overcome this issue only clearing/removing the VM configuration. But you should do all the following checks:
Menu File/Project Structure/Project (select the SDK and the correct language level -- in may case 1.8.0_201 and "8 - Lambdas...")
Menu File/Project Structure/Modules/Sources (on the right) - Select the same Language Level
Menu File/Project Structure/Dependencies (also on the right) - Select the same Module SDK
(If still does not work...) Menu Run/Edit configurations
I removed the lines from the configuration and all start running.
--module-path
${PATH_TO_FX}
--add-modules
javafx.controls,javafx.fxml
Upvotes: 0
Reputation: 13821
You should to set the JAVA SDK and appropriate language level in the project settings. Click to enlarge.
Upvotes: 21
Reputation: 1302
File > Project Structure > Project > Project SDK > Choose Version File > Project Structure > Project > Project Language Level > Choose Version File > Project Structure > Modules > Sources Tab > Language Level > Choose Level File > Project Structure > Modules > Dependencies Tab > Module SDK > Choose Version
In Pom.xml under properties change to your version
<properties>
<java.version>16</java.version>
</properties>
Right Click Pom then Mavem then Reload Project
Upvotes: 0
Reputation: 85
Just additional note:
when you creating a new project from start.spring.io make sure you select your JDK version theirs by default is set to JDK 11, later it will cause the above issue.
Upvotes: 0
Reputation: 27255
I was having this issue while running a SpringBoot project (Maven)
In my POM file I changed the java version from 11 to 8 and it worked:
<properties>
<java.version>8</java.version> //The default was 11
</properties>
Make sure to Load maven changes
else the change won't reflect.
Upvotes: 4
Reputation: 43
In Project Structure in Project SDK: modify SDK to 11 or higher and in Project language level: modify to 11 - Local variable syntax for lambda parameters
Upvotes: 1
Reputation: 3735
Gradle I had the same issue and changing all the settings given in the earlier solutions made no difference. Than I went to the build.gradle and found this line and deleted it.
sourceCompatibility = '11'
and it worked! :)
Upvotes: 4
Reputation: 742
Sometimes the problem occurs because of the incorrect version of the project bytecode.
So verify it : File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler -> Project bytecode version and set its value to 8
Upvotes: 62
Reputation: 355
I've just had a similar issue. The project had opened using Java 9 but even after all the modules and project were set back to 1.8, I was still getting the error.
I needed to force Gradle to refresh the project and then everything ran as expected.
Upvotes: 3
Reputation: 1582
When using maven project.
check pom.xml file
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>9</java.version>
</properties>
if you have jdk 8 installed in your machine,
change java.version
property from 9
to 8
Upvotes: 4
Reputation: 29
I also had the same problem in IntellijIdea, after selecting the project, then File > ProjectStructure > ProjectSettings > Modules -> sources the option was showing - the Language Level set at 9:
So, I Just change it to 8. Still my issue didn't got resolve.
The main issue was with pom.xml. I reimported the pom.xml file and my issue got resolved.
So, whenever you changed the pom.xml file, IDEA needs to update the project structure. For example if you've added there some more dependencies, IDEA needs to add them as project libraries.
In "Settings > Build, Execution, Deployment > Build Tools > Maven > Importing" you can choose "Import Maven projects automatically". This will automatically invoke "Reimport" action when the pom.xml is changed.
Upvotes: 0
Reputation: 3536
For anyone struggling with this issue who tried DeanM's solution but to no avail, there's something else worth checking, which is the version of the JDK you have configured for your project. What I'm trying to say is that if you have configured JDK 8u191 (for example) for your project, but have the language level set to anything higher than 8, you're gonna get this error.
In this case, it's probably better to ask whoever's in charge of the project, which version of the JDK would be preferable to compile the sources.
Upvotes: 1
Reputation: 4803
Select the project, then File > ProjectStructure > ProjectSettings > Modules -> sources You probably have the Language Level set at 9:
Just change it to 8 (or whatever you need) and you're set to go.
Also, check the same Language Level settings mentioned above, under Project Settings > Project
Upvotes: 443
Reputation: 1199
Alternatively via Project Settings:
Depending on how your build is set up, this may be the way to go.
Upvotes: 1
Reputation: 349
I have had the same problem. There is an answer:
Got it! Now u have Java 9!
Upvotes: 24