JavaFX Maven 插件:com.zenjava - jfx:jar 以包含所有依赖项?
JavaFX Maven Plugin: com.zenjava - jfx:jar to include all depedencies?
有没有办法通过运行将 javafx maven 插件的 jfx:jar 目标包含在生成的 jar 中?
目前,所有项目依赖项都存储在名为 'lib' 的文件夹中。
我正在寻找一种生成 javafx 可执行 jar 的方法,就像 eclipse Project > Export > Runnable Jar 设置有这个选项一样:
一些其他信息:
目前如果我使用 jfx:jar 生成的 jar 是 ~150kb 并且不会 运行 除非存在依赖库。
但是,如果我使用上面显示的 eclipse 运行nable jar 导出选项,生成的 jar 约为 40,000kb,并且可以 运行 自己。
我的 pom:
<properties>
<jfx.output.dir>${project.build.directory}/application/</jfx.output.dir>
</properties>
.
.
.
<plugins>
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.7.0</version>
<configuration>
<mainClass>my.main.class.Main</mainClass>
<jfxAppOutputDir>${jfx.output.dir}</jfxAppOutputDir>
<allPermissions>true</allPermissions>
</configuration>
</plugin>
</plugins>
<plugins>
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.7.0</version>
<configuration>
<mainClass>my.main.class.Main</mainClass>
<jfxAppOutputDir>${jfx.output.dir}</jfxAppOutputDir>
<allPermissions>true</allPermissions>
</configuration>
</plugin>
</plugins>
此插件无助于在 ubuntu 中捆绑本机打包。即 .deb 文件不起作用。 Java 社区应该致力于原生捆绑。
已经有一段时间了,但我决定回答这个问题。
我通过使用另一个我不熟悉的插件解决了我的问题。
希望这对其他人有帮助!
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>create-executable</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${test.pack.dir}</outputDirectory>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>my.main.class.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
有没有办法通过运行将 javafx maven 插件的 jfx:jar 目标包含在生成的 jar 中?
目前,所有项目依赖项都存储在名为 'lib' 的文件夹中。
我正在寻找一种生成 javafx 可执行 jar 的方法,就像 eclipse Project > Export > Runnable Jar 设置有这个选项一样:
一些其他信息: 目前如果我使用 jfx:jar 生成的 jar 是 ~150kb 并且不会 运行 除非存在依赖库。
但是,如果我使用上面显示的 eclipse 运行nable jar 导出选项,生成的 jar 约为 40,000kb,并且可以 运行 自己。
我的 pom:
<properties>
<jfx.output.dir>${project.build.directory}/application/</jfx.output.dir>
</properties>
.
.
.
<plugins>
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.7.0</version>
<configuration>
<mainClass>my.main.class.Main</mainClass>
<jfxAppOutputDir>${jfx.output.dir}</jfxAppOutputDir>
<allPermissions>true</allPermissions>
</configuration>
</plugin>
</plugins>
<plugins>
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.7.0</version>
<configuration>
<mainClass>my.main.class.Main</mainClass>
<jfxAppOutputDir>${jfx.output.dir}</jfxAppOutputDir>
<allPermissions>true</allPermissions>
</configuration>
</plugin>
</plugins>
此插件无助于在 ubuntu 中捆绑本机打包。即 .deb 文件不起作用。 Java 社区应该致力于原生捆绑。
已经有一段时间了,但我决定回答这个问题。
我通过使用另一个我不熟悉的插件解决了我的问题。
希望这对其他人有帮助!
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>create-executable</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${test.pack.dir}</outputDirectory>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>my.main.class.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>