【问题标题】:Libraries not included in javaFX jarjavaFX jar 中不包含的库
【发布时间】:2017-12-22 14:47:02
【问题描述】:

我使用 Maven 构建了一个 javaFX 应用程序。问题是从 maven 生成的 javaFX jar 文件不包含包含的依赖项。

我以这种方式包含了 javaFx 依赖项:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>javafx</artifactId>
    <version>8.0.151</version>
    <scope>system</scope>
    <systemPath>C:\Program Files\Java\jdk1.8.0_151\jre\lib\ext\jfxrt.jar</systemPath>
</dependency>

我还包含了 javaFx 插件:

<plugin>
    <groupId>com.zenjava</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>${javafx.plugin.version}</version>
    <configuration>
        <vendor>Vendor</vendor>
        <mainClass>org.bsh.generator.App</mainClass>
        <jarFileName>CSVGenerator</jarFileName>
    </configuration>
    <executions>
        <execution>
            <id>create-jfxjar</id>
            <phase>package</phase>
            <goals>
                <goal>build-jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

当我使用目标“build-jar”构建 jar 时,生成的 jar 不包含其他依赖项。请问有什么帮助吗?

【问题讨论】:

  • 您根本不需要将 JavaFX 作为依赖项包含在内;它是 Java 8 及更高版本中 JDK 的一部分。
  • 好吧,但这不是问题
  • 您能否详细说明“其他依赖项”的具体含义?哪个?您可以编辑您的帖子以包含整个 pom 文件吗?

标签: java maven javafx plugins


【解决方案1】:

不尊重范围为system 的依赖关系,这是故意的。插件仅支持 providedruntime 范围的依赖项/库。

免责声明:我是 javafx-maven-plugin 的维护者。

【讨论】:

  • 好吧,我找到了一个使用 maven 程序集插件的解决方案。它包括生成的 jar 中的所有依赖项。
猜你喜欢
  • 2012-05-08
  • 2020-09-04
  • 2015-10-15
  • 2016-12-30
  • 1970-01-01
  • 2012-12-22
  • 2014-06-14
  • 2023-02-04
  • 2011-09-28
相关资源
最近更新 更多