【问题标题】:How to build a runnable JavaFX application using maven?如何使用 maven 构建可运行的 JavaFX 应用程序?
【发布时间】:2012-10-11 21:08:14
【问题描述】:

我是 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();
}

我找到了deployment tutorial,但是当我的程序带有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 原因:名称未定义。 行动:检查拼写。 行动:检查是否已声明任何自定义任务/类型。 行动:检查任何/声明已经发生。 此命名空间中尚未定义任何类型或任务**

【问题讨论】:

  • 你真的是指 Maven,而不是例如蚂蚁?
  • 我更喜欢使用 Maven,但我不知道如何构建它。
  • 哦,我明白了。那么你的任务是将当前使用 Ant 构建的项目转换为 Maven 项目?

标签: java maven javafx


【解决方案1】:

现在有一个用于 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>

【讨论】:

    猜你喜欢
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 2021-01-21
    • 2019-10-16
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多