Error: Could not find or load main class
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
--module-path %PATH_TO_FX%
--add-modules javafx.controls,primary.fxml
java.lang.module.FindException: Module javafx.controls not found
Command execution failed.
或
cd C:\Users\TCN\Documents\NetBeansProjects\testJavaFX;
"JAVA_HOME=C:\\Program Files\\AdoptOpenJDK\\jdk-11.0.11.9-hotspot" cmd /c "\"
C:\\Program Files\\NetBeans-12.2\\netbeans\\java\\maven\\bin\\mvn.cmd\"
-Dexec.args=\"--module-path \\\"C:\\Program Files\\Java\\javafx-sdk-11.0.2\\lib\\\"
--add-modules javafx.controls,javafx.fxml -classpath %classpathtestJavaFX.java
-classpath %classpath testJavaFX.java
-classpath %classpath javafx.controls ,primary.fxml
-classpath %classpath javafx.controls ,javafx.fxml
-classpath %classpath javafx.controls
-classpath %classpath javafx.controls testJavaFX.java
-classpath %classpath com.tradeconnex.testjavafx.App\"
-Dexec.executable=\"C:\\Program Files\\AdoptOpenJDK\\jdk-11.0.11.9-hotspot\\bin\\java.exe\"
-Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans-12.2\\netbeans\\java\\maven-nblib\\netbeans-eventspy.jar\"
-Dfile.encoding=UTF-8
-Prelease-profile process-classes org.codehaus.mojo:exec-maven-plugin:3.0.0:exec"
The syntax of the command is incorrect.
我在Mac和Windows机器上都尝试了这个,结果是一样的。
我猜程序找不到JavaFX。
我的JDK是jdk-11.0.11.9-hotspot
在我安装了JDK11之后,我以前的jdk8 javafx项目现在也不会运行了。
我尝试将maven中的所有javafx JAR添加到我的POM中,同样,我只能从NetBeans中运行它。
同样,来自JDK8和JDK11的应用程序在NetBeans中都运行良好,但都不能从jar或Shell中运行。以前可以执行的jdk8中的旧JavaFX JAR现在不是了。
请问有人有解决办法吗?
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.company</groupId>
<artifactId>testJavaFX</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>testJavaFX</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<javafx.version>11</javafx.version>
<mainClass>com.company.testjavafx.App</mainClass>
</properties>
<dependencies>
<!-- <dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx</artifactId>
<version>13.0.2</version>
<type>pom</type>
</dependency>-->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>11.0.2</version>
</dependency>
</dependencies>
<build>
<finalName>testJavaFX</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<excludeScope>system</excludeScope>
<excludeGroupIds>junit,org.mockito,org.hamcrest</excludeGroupIds>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.company.testjavafx.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.4</version>
<configuration>
<mainClass>com.company.testjavafx.App</mainClass>
</configuration>
<executions>
<execution>
<!-- Default configuration for running -->
<!-- Usage: mvn clean javafx:run -->
<id>default-cli</id>
</execution>
<execution>
<!-- Configuration for manual attach debugging -->
<!-- Usage: mvn clean javafx:run@debug -->
<id>debug</id>
<configuration>
<options>
<option>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000</option>
</options>
</configuration>
</execution>
<execution>
<!-- Configuration for automatic IDE debugging -->
<id>ide-debug</id>
<configuration>
<options>
<option>-agentlib:jdwp=transport=dt_socket,server=n,address=${jpda.address}</option>
</options>
</configuration>
</execution>
<execution>
<!-- Configuration for automatic IDE profiling -->
<id>ide-profile</id>
<configuration>
<options>
<option>${profiler.jvmargs.arg1}</option>
<option>${profiler.jvmargs.arg2}</option>
<option>${profiler.jvmargs.arg3}</option>
<option>${profiler.jvmargs.arg4}</option>
<option>${profiler.jvmargs.arg5}</option>
</options>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
相反,您可以将所有javafx模块作为maven依赖项加载,并使用一个Launcher类扩展主类并执行主函数。我已经写了一整篇关于这个的媒体文章。去看看。
Java:jdk12 构建工具:Maven IDE:Eclipse OS:Windows 我有一个简单的java FX 11代码,它显示一个简单的空白屏幕。我已经使用eclipse部署了一个可执行的jar。当我使用CMD给出以下命令时,它工作正常: 可以看出,我需要在执行JAR文件时提供模块。 如果我们跳过这一步,我们会得到JAR直接执行错误: 因为我已经尝试使用maven作为: ---马文·波姆
当我试图将我的项目导出到可执行的。jar文件时,像hibernate.cfg.xml或log4j-properties这样的配置文件不会导出到JAR中。我必须手动将它们添加到存档中。文件位于项目根文件夹中的/target/文件夹中。 如何让Eclipse也导出配置文件?
我有我的chromedriver和chromedriver。项目文件夹中的exe权限。我正在用这段代码创建驱动程序的实例。 在本地windows上也可以(如果我们将“chromedriver”更改为“chromedriver.exe”),但当我在CentOS上运行它时,会收到错误消息:“驱动程序不可执行”。
我有一个使用spring Boot1.4.2和CXF JAXR的项目设置。我想把Spring引导执行器添加到项目中。这是我添加到项目中的配置。 在此之后创建一个WAR文件,然后将其部署在外部tomcat服务器中。但是当我访问健康URL localhost:8080/management/health时,它给出的是404 HTTP代码。服务器正常启动,我可以看到包含以下详细信息的日志: 运行状况配置
我在Eclipse中有一个maven项目。在src/main/resources下,我有一个名为“directoryToCopy”的目录,其中包含文件。一旦我运行了我的项目,我想将“directoryToCopy”复制到桌面上的本地目录“localDirec”下。 我用了这个: 这在本地工作正常,但是当我想将其作为可执行jar文件运行时,我会得到NullPointerException。 请问有什
我在Netbeans IDE 8.0.1中编写了一个名为SampleChat的Java GUI程序,并使用“Clean and Build”函数创建了一个jar文件。 我转到Netbeans创建的'dist'目录,双击它生成的jar文件。打开一个cmd窗口,其行如下: 我打算从一个U盘共享程序,所以它是至关重要的,唯一的要求是一个JVM,鼠标,也许一些手指来双击它。 我想出的一个尴尬的解决方案是编