我正在尝试分发包含所有 maven 依赖项的 JavaFX jar 文件。然而,我唯一有效的构建是将 Maven 依赖项提取为 .jar 文件。
我的 pom 文件包含以下行:
<?xml version="1.0" encoding="UTF-8"?>
http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
<groupId>groupId</groupId>
<artifactId>MusikPlayer</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org</groupId>
<artifactId>jaudiotagger</artifactId>
<version>2.0.3</version>
</dependency>
</dependencies>
有没有办法分发包含所有 Maven 依赖项的 JavaFX jar 文件,这样我只有 1 个 jar 文件?
最佳答案
您需要的是javafx-maven-plugin
:
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.4.0</version>
<configuration>
<mainClass>your.package.with.Launcher</mainClass>
</configuration>
</plugin>
your.package.with.Launcher
是您的 Application
类。该插件还允许您创建 native bundle 。为了便于使用,请查看他们的 page快速整合最常见情况的插件配置。
通过上述配置,您可以使用 mvn jfx:jar
构建全合一可执行 jar 文件。 jar 文件将位于 target/jfx/app
中。
关于java - 具有打包的 Maven 依赖项的 IntelliJ JavaFX 构建 Artifact ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35956243/