为什么我从javac中遇到几个错误,没有从javaFx中找到任何软件包?

时间:2019-06-19 03:20:45

标签: java bash macos javafx

我开始学习如何使用JavaFx制作GUI,我遵循的基本原理是运行一个简单的“ hello world”程序,该书的作者是Carl Dea的“ JavaFx 9 by Example”。

但是最后,即使我只是复制了源代码和bash命令,javac也不承认javaFx软件包。

这不是我用Java编写的第一个代码,但这是我第一次在MacOs中使用终端对其进行编译和运行。

同时,我在学习JavaFx,同时也吸收了Bash。我了解到MacO具有旧版本;因此我将默认设置替换为新版本“ 5.0.7(1)-release”。

我不知道这是否重要,但

$ echo "$BASH_VERSION"
5.0.7(1)-release. 

和。

$ bash -version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17). 

此外,几天前我下载并安装了Java的最新版本

$ java --version  
java 12.0.1 2019-04-16
Java(TM) SE Runtime Environment (build 12.0.1+12)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)

它可能与Java路径有关,但是如果我不确定如何解决它,那么

我相信的问题是在导入javaFx库时:

import javafx.application.Application; 
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;

编译时,出现几个错误。

其中一些是:

$ javac -d classes src/*.java  
src/HelloWorld.java:2: error: package javafx.application does not exist. 
import javafx.application.Application;  
                         ^

基本上,似乎javac无法识别或知道javaFx中是否存在任何程序包。

此错误缓解了要使用此类创建的对象

symbol: class Application
src/HelloWorld.java:20: error: cannot find symbol
public void start(Stage stage) {
                  ^

编辑:

感谢您的回答,我终于能够用JavaFx做一个简单的应用程序。唯一令我困扰的是编译此代码所需的大型命令提示符。

$ javac --module-path $PATH_TO_FX --add-modules javafx.controls HelloWorld.java
$ java --module-path $PATH_TO_FX --add-modules javafx.controls HelloWorld

它不会消失,不是吗?

0 个答案:

没有答案