我希望使用Maven在任何平台上使用JavaFX执行jar,无论主机上是否安装了JavaFX。
mvn exec:java
Error: JavaFX runtime components are missing, and are required to run this application.
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
...
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>Gui</mainClass>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>Gui</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
正如何塞·佩雷达在评论中指出的那样,这个答案解决了这个问题。简而言之,我通过创建一个扩展JavaFX应用程序的类来解决这个问题,但没有将这个类作为JAR中的主类。相反,我将扩展应用程序的main方法调用到我真正的main类中。
示例:
public class RealMain { //the class in the manifest
public static void main(String[] args) {
Gui.main(args);
}
}
public class Gui extends Application{
public static void main(String[] args) {
launch();
}
}
我在使用selenium与maven运行页面工厂时遇到问题,如果有人能提供帮助,我将不胜感激。当我运行TestPage类时,我得到以下错误:
我正面临着这个奇怪的问题,我正在开发的gui应用程序在intellij内部运行时看起来比在外部运行时要小。下面是一个演示图像: 奇怪的是,我喜欢它的缩放方式。为什么会发生这种情况?在Intellij a之外是否有可能复制这种情况?
问题内容: 我正在Jenkins盒子上运行用Maven构建的jUnit4测试。我的目标是在执行测试之前还原测试数据库。 看起来exec-maven-plugin是可行的方法,但我无法使其运行。有指针吗?尽管有很多示例,但mojo网站上的文档非常薄。 我目前需要参加的课程位于: MyProject.src.test.java._tools.BuildTestEnvironment.java 我的po
我制作了一个javafx应用程序表单,我得到了一个可执行的jar作为输出。现在,我的javafx应用程序依赖于两个第三方JAR,比如commons。伊奥。2.4.罐子 目前,为了运行我的应用程序,我必须像这样将这些依赖jar保存在可执行jar的类路径中 但我希望所有依赖的jar都捆绑在我的可执行jar中。 因为javafx使用ant构建,所以我尝试使用 但是在捆绑了所有依赖的jar之后,我没有得到
我想在JavaFX应用程序中使用Selenium WebDriver,我想获得一个网页的截图,并在JavaFX应用程序中的ImageView中显示它。 此代码完全可以拍摄网页截图并保存: 为了在JavaFX应用程序中使用保存的屏幕截图,我试图对这个类进行一些简单的修改,使其成为一个JavaFX应用程序。 以下是修改后的代码: 这是一个最简单的JavaFX应用程序,在main方法中有一些代码,当我运
我正在用IntelliJ开发一个小型JavaFX应用程序。 我已经用Intellij工件将它编译成一个jar,它在windows中可以很好地工作,无论是从命令行还是双击jar。 应用程序需要整天运行,我选择使用覆盆子,因为我认为这是最便宜的方式。 我在Raspbian上安装了它,来自Oracle的JDK 8 Oracle网站上的最后一个ARM版本 JVM正在工作,并使用显示正确的版本。我假设安装是