Maven构建JavaFX可执行Jar失败,报NoClassDefFoundError错误求助
Maven构建JavaFX可运行Jar包失败排查
项目配置
当前使用的pom.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?> <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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.adept</groupId> <artifactId>application</artifactId> <version>1.0-SNAPSHOT</version> <name>application</name> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>5.9.2</junit.version> <jsoup.version>1.16.1</jsoup.version> </properties> <dependencies> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>21-ea+24</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>21-ea+24</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.adept.application.Application</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>21</source> <target>21</target> </configuration> </plugin> <plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.8</version> <executions> <execution> <!-- Default configuration for running with: mvn clean javafx:run --> <id>default-cli</id> <configuration> <mainClass>com.adept.application.Application</mainClass> <!-- <mainClass>com.adept.application/com.adept.application.Application</mainClass> --> <launcher>app</launcher> <jlinkZipName>app</jlinkZipName> <jlinkImageName>app</jlinkImageName> <noManPages>true</noManPages> <stripDebug>true</stripDebug> <noHeaderFiles>true</noHeaderFiles> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
项目目录结构、依赖库链接情况均正常。
问题现象
执行java -jar命令运行生成的Jar包时,抛出如下错误:
Error: Could not find or load main class com.adept.application.Application Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
已尝试方案
- 更换多种构建插件
- 在插件配置中指定Manifest
- 调整运行参数
以上方案均未解决问题,现寻求能够成功构建可运行Jar包的方法。
内容的提问来源于stack exchange,提问作者Adept
相关产品推荐
相关产品推荐

