【问题标题】:JavaFX Maven jfx:jar error: Could not find artifact javafx-packagerJavaFX Maven jfx:jar 错误:找不到工件 javafx-packager
【发布时间】:2020-02-17 13:46:37
【问题描述】:

我正在尝试使用 JavaFX 和 Maven 构建可执行文件。

'clean javafx:ru​​n' 工作正常,但是当我运行'mvn clean jfx:jar'(在 eclipse 或 cmd 中)时,我收到此错误:

[ERROR] Failed to execute goal com.zenjava:javafx-maven-plugin:8.8.3:jar (default-cli) on project inkoop: Execution default-cli of goal com.zenjava:javafx-maven-plugin:8.8.3:jar failed: Plugin com.zenjava:javafx-maven-plugin:8.8.3 or one of its dependencies could not be resolved: Could not find artifact javafx-packager:javafx-packager:jar:1.8.0_20 at specified path C:\Program Files\Java\jdk-13.0.2/../lib/ant-javafx.jar -> [Help 1]

.
pom.xml:

<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>nl.myname.programs</groupId>
<artifactId>name</artifactId>
<version>0.0.1-SNAPSHOT</version>


<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
</properties>


<dependencies>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>13</version>
    </dependency>

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


<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <release>11</release>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>0.0.4</version>
            <configuration>
                <mainClass>nl.myname.programs.name.App</mainClass>
                <executable>C:/Program Files/Java/jdk-13.0.2/bin/java</executable>
            </configuration>
        </plugin>


        <plugin>
            <groupId>com.zenjava</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>8.8.3</version>
            <configuration>
                <jfxMainAppJarName>${project.build.finalName}.jar</jfxMainAppJarName>
                <mainClass>nl.myname.programs.name.App</mainClass>
            </configuration>
        </plugin>



    </plugins>
</build>

我的路径有%JAVA_HOME%\binC:\Program Files\apache-maven-3.6.3\bin(%JAVA_HOME 设置为C:\Program Files\Java\jdk-13.0.2

有什么方法可以构建我的应用程序吗?
我需要两个javax-maven-plugin 吗? 感谢您的帮助!

【问题讨论】:

  • 你解决过这个问题吗?
  • 是的,我使用 org.openjfx:javafx-maven-plugin 和 jlink 目标。

标签: java maven javafx compiler-errors


【解决方案1】:

AFAIK,com.zenjava:javafx-maven-plugin 不适用于 Java 11+ / JavaFX 11+。

只需将org.openjfx:javafx-maven-plugin 与 Java 11+ / JavaFX 11+ 一起使用。

【讨论】:

  • 感谢您的回答!我尝试使用 org.openjfx:javafx-maven-plugin 但我似乎找不到构建 jar 或 exe 文件的方法?这个插件可以实现吗?再次感谢!
  • @Banjer_HD 我还没怎么用过,不过Java 11+的方式好像是用jlink。该插件有一个 jlink 目标。
  • 它现在正在使用 jlink,谢谢!但是我仍然有一个问题:我不能使用 SQLite JDBC 驱动程序,因为它是一个旧的 jar 文件(非模块化)。它不能作为自动模块工作。你知道有没有办法解决这个问题? @Puce
猜你喜欢
  • 1970-01-01
  • 2017-07-29
  • 2019-05-27
  • 1970-01-01
  • 2019-08-09
  • 2018-01-07
  • 1970-01-01
  • 1970-01-01
  • 2018-03-27
相关资源
最近更新 更多