问题:从Eclipse IDE运行基于Maven非模块项目(project name=“howdyJFX”)的JavaFX应用程序会生成以下编译错误:
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:java (default-cli) on project howdyjfx: The parameters 'mainClass' for goal org.codehaus.mojo:exec-maven-plugin:1.6.0:java are missing or invalid.
开发环境和配置:
<modelVersion>4.0.0</modelVersion>
<groupId>com.spindotta.jfx11.testbed</groupId>
<artifactId>howdyjfx</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>13-ea+8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-fxml -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>13-ea+8</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<!-- http://maven.apache.org/plugins/maven-compiler-plugin/ -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.2</version>
<configuration>
<!-- Is this necessary? The 'Run' configuration goals are "clean exec:java" -->
<executable>C:\Program Files\Java\jdk-11.0.3\bin\java</executable>
<!-- Workaround to short-circuit jdk1.8 which is needed to run Eclipse
but is toxic for jdk11 and higher -->
<options>
<option>-Djava.library.path=C:\tmp</option>
</options>
<!-- Main class - is this correct? -->
<mainClass>com.spindotta.jfx11.testbed.howdyjfx.HowdyJFX</mainClass>
</configuration>
</plugin>
</plugins>
</build>
public class HowdyJFX extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
final String javaVersion = System.getProperty("java.version");
final String javafxVersion = System.getProperty("javafx.version");
final Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
final Scene scene = new Scene(new StackPane(l), 640, 480);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch();
}
}
上面的配置和代码是基于“入门”指南和Sr.Jose Pereda的Github帖子,以及对去年9月提出的类似问题的回答。然而,不管出于什么原因,我不能让这个工作。这更令人沮丧,因为我正在完成一个大量的JFX控件库,这些控件编译时没有任何问题(使用JDK11和JavaFX11),并且在场景构建器中工作良好(除了一些与此处无关的场景构建器问题)。
提前感谢您提出的任何有用的建议!
pom
文件中的配置是正确的,但是javafx-maven-plugin
的
部分中的主类规范是错误的。在“入门”指南和有关Github repo的材料中,Mainclass
的名称是'org.openjfx.hellofx.app
,它是
加上
加上简单类名
的组合。因为我的项目的
和
分别是com.spindotta.jfx11.testbed
和howdyjfx
,所以我将它们与简单类名howdyjfx
组合在一起。这是不正确的,因为项目具有标准的Maven配置source/main/java
和顶级文件夹howdyjfx
。在插件中指定howdyjfx/howdyjfx
作为mainclass
解决了这个问题。
就其价值而言,在
中为javafx-maven-plugin
指定的项是必不可少的;省略any将生成错误
。应该可以在run configurations->JRE选项卡->VM arguments
中指定这些值,不过我发现在POM
中使用模板更容易处理这些值。
感谢Jose Pereda澄清了目标
中的一个问题,该目标必须在运行配置
中为启动指定。
现在又出现了一个问题。我需要能够调试通过入门指南和Github Repo中建议的方法启动的JavaFX应用程序。我在主类HowdyJFX
中分配变量的第一行设置了一个Eclipse
断点,这样应用程序就会在该点停止,但这并没有发生。相反,应用程序运行时就好像断点不在那里一样。这是一个不同于手头的问题,并在其他地方提出。
作为一个软件开发人员,我需要做哪些步骤来允许我的JavaFX应用程序与JDK11+一起运行?有什么好的广告吗?是否可以通过Gradle获得OpenJDK?
我是JavaFX新手。我使用Maven创建了一个Hello World项目。当我在Eclipse中运行时,它工作得很好。 当我试图使用build.fxbuild构建应用程序时,我得到了这个错误。
问题内容: 我是一个初学者,现在我想用java启动GUI应用程序。我开始阅读一些有关FX的书籍,但并未在JDK11上编译..我是否需要使用jdk8还是有什么办法可以在jdk11上完成? 问题答案: JavaFX已脱离JDK11(Oracle的官方JDK和OpenJDK)的捆绑。为了将JavaFX与JDK11结合使用,您必须下载独立的JavaFX11运行时。
我有一个用Java 8编译的可执行jar文件,其中包含一个名为< code>app.jar的JavaFX应用程序。 当我安装了Java8时,我可以简单地用运行它。 现在我只安装了Java 11,运行上面的命令会产生以下错误: 因为Java 11不再包含JavaFX。 所以我考虑安装JavaFX。openjfx.org以两种形式提供JavaFx:SDK和JMOD文件。 我认为我不需要SDK,因为我不
例如。 这应该运行一个简单的hello world应用程序,摘自oracle文档。然而,当我‘运行’这个代码,没有窗口打开。取而代之的是打开一个名为“Java”的应用程序。看起来'java'只是一个位于'jdk1.8.0_25.jdk/contents/home/bin'中的'UNIX可执行文件‘。应用程序'java'绝对不显示任何东西,并且在没有强制退出的情况下无法关闭。 我在MacBook上运
我正在学习使用Maven在Eclipse中构建Java项目。我从文件夹中的“maven archetype quickstart”模板创建了一个Java项目。然后,为了将Maven项目转换为支持EclipseIDE,我导航到项目文件夹并发出命令: 和。 然后我在Eclipse中导入了该项目,并进行了必要的Eclipse配置,比如在Eclipse类路径中设置Maven本地存储库。现在,该项目位于文件