1

我正在使用 Netbeans 11,并且创建了一个无法构建/运行的准系统测试 Maven Java 13 项目。

我以前没有使用过Maven。

在摆弄了一些基本的依赖项之后,我最终得到了一个错误,表明javafxpackager在尝试构建它时找不到该命令。

我的系统上的任何地方都没有这样的命令。

经过一番搜索,似乎有问题的二进制文件曾经是openjfx包的一部分(安装了包,我相信是 11 版),但从那以后,它既被重命名为javapackager也从所述包中删除。

默认的 Ubuntu 软件包中似乎没有“javapackager”

我安装了 openjdk 包,版本 13。我还下载了 Oracle JDK,但里面没有这样的二进制文件。

Netbeans 下载了所需的javafx依赖项,所以我假设它们与安装的 JDK 兼容。

  1. 我该如何安装?我从哪里得到它?
  2. 考虑到 Netbeans 仍然使用古老的名称“javafxpackager”(这意味着项目模板非常陈旧且过时),我能做些什么来解决这个问题吗?替代包装商?以及如何将它与我的 Maven 项目集成?

编辑

pom.xml文件可以在这里查看。它是 Netbeans 创建的默认文件,唯一添加的是javafx-fxml依赖项(奇怪的是,默认情况下它也不包含在pom.xml模板中,尽管代码需要它):

<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-fxml</artifactId>
    <version>13</version>
</dependency>
4

1 回答 1

0

下面是一个使用JavaFX 13 和 Maven的完整工作示例:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.openjfx</groupId>
  <artifactId>HelloFX</artifactId>
  <version>1.0-SNAPSHOT</version>
  <properties>
    <java.version>13</java.version>
    <javafx-controls.version>13</javafx-controls.version>
    <javafx-fxml.version>13</javafx-fxml.version>
    <javafx-maven-plugin.version>0.0.3</javafx-maven-plugin.version>
    <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-controls</artifactId>
      <version>${javafx-controls.version}</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-fxml</artifactId>
      <version>${javafx-fxml.version}</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven-compiler-plugin.version}</version>
        <configuration>
          <release>${java.version}</release>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-maven-plugin</artifactId>
        <version>${javafx-maven-plugin.version}</version>
        <configuration>
          <mainClass>org.openjfx.hellofx.App</mainClass>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

运行项目:

$ mvn clean javafx:run
于 2019-10-11T10:57:38.297 回答