我正在使用Intellij Idea编译一个使用Maven依赖项的项目,而Intellij一直告诉我,我的项目有50个错误,因为JavaFX不存在。
Intellij没有突出显示我的代码中的所有javafx依赖项作为错误,只是一旦我按下运行并编译程序就说JavaFX中的所有内容都不存在。
我尝试重新下载最新的JDK(Java 9.0.1)并且没有修复它。我进入了默认项目结构和项目结构,以确保它使用正确的jdk并且没有解决问题。我正在使用的所有jdks似乎都列出了项目中包含的javafx包。
这也是我与朋友合作的特定项目的问题。我们可能不得不将所有代码移到一个新项目中,但我不确定这是否会解决任何问题。
有什么建议吗?
答案 0 :(得分:11)
尝试将项目语言级别设置为" 9"在"项目结构|项目"
答案 1 :(得分:10)
好的,我知道我的问题是什么。
除了上面提到的<div data-snack-id="SkcBrXsMG" data-snack-platform="android" data-snack-preview="true" data-snack-theme="dark" style="overflow:hidden;background:#212733;border:1px solid rgba(0,0,0,.16);border-radius:4px;height:505px;width:100%"></div>
<script async src="https://snack.expo.io/embed.js"></script>
之外,我在某些pom.xml中有一个maven设置,如下所示:
Try to set project language level to "9" in "Project Structure | Project"
和<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
在上面某处被定义为java.version
。我只需将其更改为1.8
答案 2 :(得分:5)
将JavaFX项目从Java 8升级到Java 9后,我遇到了这个问题。
在IntelliJ和Maven pom中检查项目和模块的通常语言级别设置后,我发现问题是模块被显式设置为在Java Compiler首选项中生成Java 8字节码。
查看Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler
。检查Project bytecode version
是否未设置(或设置正确),并且您的模块未在Per-module bytecode version
中列出,且值不正确。
答案 3 :(得分:0)
File --> Project Structure-->Module
此处的语言级别为我设置为5。将它上升到9以允许类等,并且上面描述的相同错误为我解决了。
答案 4 :(得分:0)
我错过了gradle.build中的模块。必须更新
val record = ListBuffer[String]
val record += (elm1,elm2,elm3) - I am getting elm1 by reading through xpath
答案 5 :(得分:0)
在Java9 +中,JRE / JDK中不包含某些模块。解决方案是显式添加thore库。
对于我使用过的Java9的maven pom文件
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-fxml -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>11</version>
</dependency>
我可以使用所需的libray包括TextField。
import javafx.scene.control.TextField;