4

我是 JavaFX 的新手。我使用 maven 创建了一个 Hello World 项目。当我在 Eclipse 中运行它时它工作正常。

public static void main(String[] args) {
    launch(args);
}

@Override
public void start(Stage primaryStage) throws Exception {
    primaryStage.setTitle("Hello World!");
    Button btn = new Button();
    btn.setText("Say 'Hello World'");
    btn.setOnAction(new EventHandler<ActionEvent>() {
        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();
}

你好世界

我找到了部署教程,但是当我的程序带有 maven 时,我不知道如何构建它。

当我尝试使用 build.fxbuild 构建应用程序时,出现此错误。

构建文件:C:\test\project\workspace\javafx-helloworld\build\build.xml

设置暂存区:
       [mkdir] 创建目录:C:\test\project\workspace\javafx-helloworld\build\externalLibs
        [复制] 将 1 个文件复制到 C:\test\project\workspace\javafx-helloworld\build\externalLibs
       [mkdir] 创建目录:C:\test\project\workspace\javafx-helloworld\build\project
        [复制] 将 1 个文件复制到 C:\test\project\workspace\javafx-helloworld\build\project
       [mkdir] 创建目录:C:\test\project\workspace\javafx-helloworld\build\projectRefs

编译:
       [mkdir] 创建目录:C:\test\project\workspace\javafx-helloworld\build\build\src
       [mkdir] 创建目录:C:\test\project\workspace\javafx-helloworld\build\build\libs
       [mkdir] 创建目录:C:\test\project\workspace\javafx-helloworld\build\build\classes
        [复制] 将 1 个文件复制到 C:\test\project\workspace\javafx-helloworld\build\build\libs
        [复制] 将 1 个文件复制到 C:\test\project\workspace\javafx-helloworld\build\build\src
       [javac] 将 1 个源文件编译到 C:\test\project\workspace\javafx-helloworld\build\build\classes

初始化外汇任务:
     [taskdef] 无法从资源 com/sun/javafx/tools/ant/antlib.xml 加载定义。找不到。

部署:
       [mkdir] 创建目录:C:\test\project\workspace\javafx-helloworld\build\dist
       [mkdir] 创建目录:C:\test\project\workspace\javafx-helloworld\build\dist\libs
        [复制] 将 1 个文件复制到 C:\test\project\workspace\javafx-helloworld\build\dist\libs

**构建失败
C:\test\project\workspace\javafx-helloworld\build\build.xml:93:问题:无法创建任务或键入 javafx:com.sun.javafx.tools.ant:resources
原因:名称未定义。
行动:检查拼写。
行动:检查是否已声明任何自定义任务/类型。
行动:检查任何/声明已经发生。
此命名空间中尚未定义任何类型或任务**
4

1 回答 1

4

现在有一个用于 JavaFX 的 maven 插件:

https://github.com/zonski/javafx-maven-plugin

<plugin>
    <groupId>com.zenjava</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>1.1</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>package</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <mainClass>[put your application main class here]</mainClass>
        <bundleType>ALL</bundleType>
    </configuration>
</plugin>
于 2012-11-12T22:55:44.300 回答