我有一个愚蠢的问题,因为我在这里搜索了数据库,但我找不到答案。我是javaFX的新手,所以......请帮帮我!
这是我使用的代码。这是一个示例代码。
package helloworld;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class HelloWorld extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
使用javac HelloWorld.java
从目录。\ helloworld中编译后,运行以下命令:
PS D:\documents\javafx\helloworld> javafxpackager -createjar -appclass HelloWorld -srcdir . -outdir out -outfile hello.jar -v
但是,当我cd
到out
并运行java -jar hello.jar
时,我得到了这个:
PS D:\documents\javafx\helloworld\out> java -jar hello.jar
Error: Could not find or load main class HelloWorld
发生了什么事或我做错了什么?
非常感谢任何建议/解释。
谢谢大家。
Zestos。
答案 0 :(得分:1)
您的应用程序类在helloworld包中,因此要引用它,您应该使用helloworld.HelloWorld的完全限定名称。
以下是使用您问题中的示例HelloWorld应用程序的完整示例。我在安装了Oracle Java 8u25的OS X 10.8上尝试了这个,它对我有用。
$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
$ javac -version
javac 1.8.0_25
$ tree
.
├── classes
└── src
└── helloworld
└── HelloWorld.java
3 directories, 1 file
$ javac -d classes src/helloworld/HelloWorld.java
$ tree
.
├── classes
│ └── helloworld
│ ├── HelloWorld$1.class
│ └── HelloWorld.class
└── src
└── helloworld
└── HelloWorld.java
4 directories, 3 files
$/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/javapackager -createjar -appclass helloworld.HelloWorld -srcdir classes -outdir dist -outfile hello.jar -v
$ tree
.
├── classes
│ └── helloworld
│ ├── HelloWorld$1.class
│ └── HelloWorld.class
├── dist
│ └── hello.jar
└── src
└── helloworld
└── HelloWorld.java
5 directories, 4 files
$ java -jar dist/hello.jar